Mail API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Mail API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์ผ์„ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

๋ฐœ์‹ ์ž์˜ ์ด๋ฉ”์ผ์„ ์Šน์ธ๋œ ๋ฐœ์‹ ์ž๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

PHP 7/8์—์„œ๋Š” App Engine Mail ํ•จ์ˆ˜๊ฐ€ ๋” ์ด์ƒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฒ„๋กœ๋“œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กœ์šด ๋™์ž‘์„ ํ†ตํ•ด ํ•„์š”์— ๋งž๊ฒŒ Mail ํ•จ์ˆ˜์˜ ์šฉ๋„๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  Mail ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๊ตฌํ˜„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ PHP mail() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ App Engine Mail API๋ฅผ ์‚ฌ์šฉํ•ด ๋ฉ”์ผ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด php.ini ํŒŒ์ผ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

extension = mailparse.so
sendmail_path = "php ./vendor/google/appengine-php-sdk/src/Runtime/SendMail.php -t -i"

๋˜๋Š” Mail API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


// Notice that $image_content_id is the optional Content-ID header value of the
// attachment. Must be enclosed by angle brackets (<>)
$image_content_id = '<image-content-id>';

// Pull in the raw file data of the image file to attach it to the message.
$image_data = file_get_contents('image.jpg');

try {
    $message = new Message();
    $message->setSender('from@example.com');
    $message->addTo('to@example.com');
    $message->setSubject('Example email');
    $message->setTextBody('Hello, world!');
    $message->addAttachment('image.jpg', $image_data, $image_content_id);
    $message->send();
    echo 'Mail Sent';
} catch (InvalidArgumentException $e) {
    echo 'There was an error';


PHP์šฉ ๊ธฐ์กด ๋ฒˆ๋“ค ์„œ๋น„์Šค์— ์•ก์„ธ์Šค ๊ฐ€์ด๋“œ์—์„œ Mail API์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ณ ๋ ค์‚ฌํ•ญ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ