gmail 계정으로 이메일 보내기 + AWS에서 PHP를 이용한 SMTP를 통해 이메일 전송

saltdoll 2017. 12. 16. 03:35

Gmail 계정을 통해서, 이메일 보내기

// Pear Mail Library
require_once "Mail.php";

$from = '<fromaddress@gmail.com>';
$to = '<toaddress@yahoo.com>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'johndoe@gmail.com',
        'password' => 'passwordxxx'

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');

출처: https://stackoverflow.com/questions/712392/send-email-using-the-gmail-smtp-server-from-a-php-page

[AWS] PHP를 사용하여 SMTP를 통해 이메일 전송

이 예제에서는 SMTP 인터페이스를 사용하여 Amazon SES를 통해 이메일을 보내기 위해 PHPMailer 패키지를 사용합니다.


이 자습서에서는 수신 여부를 확인할 수 있도록 자신에게 이메일을 발송합니다. 추가적인 실험 또는 로드 테스트는 Amazon SES 메일박스 시뮬레이터를 사용하십시오. 메일박스 시뮬레이터로 전송되는 이메일은 발신 할당량이나 반송 메일 및 불만 제기 발생률에 포함되지 않습니다. 자세한 내용은 Amazon SES 이메일 전송 테스트 단원을 참조하십시오.

<?php // Modify the path in the require statement below to refer to the // location of your Composer autoload.php file. require 'path_to_sdk_inclusion'; // Instantiate a new PHPMailer $mail = new PHPMailer; // Tell PHPMailer to use SMTP $mail->isSMTP(); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. $mail->setFrom('sender@example.com', 'Sender Name'); // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. // Also note that you can include several addAddress() lines to send // email to multiple recipients. $mail->addAddress('recipient@example.com', 'Recipient Name'); // Replace smtp_username with your Amazon SES SMTP user name. $mail->Username = 'smtp_username'; // Replace smtp_password with your Amazon SES SMTP password. $mail->Password = 'smtp_password'; // Specify a configuration set. If you do not want to use a configuration // set, comment or remove the next line. $mail->addCustomHeader('X-SES-CONFIGURATION-SET', 'ConfigSet'); // If you're using Amazon SES in a region other than US West (Oregon), // replace email-smtp.us-west-2.amazonaws.com with the Amazon SES SMTP // endpoint in the appropriate region. $mail->Host = 'email-smtp.us-west-2.amazonaws.com'; // The port you will connect to on the Amazon SES SMTP endpoint. $mail->Port = 465; // The subject line of the email $mail->Subject = 'Amazon SES test (SMTP interface accessed using PHP)'; // The HTML-formatted body of the email $mail->Body = '<h1>Email Test</h1> <p>This email was sent through the <a href="https://aws.amazon.com/ses">Amazon SES</a> SMTP interface using the <a href="https://github.com/PHPMailer/PHPMailer"> PHPMailer</a> class.</p>'; // Tells PHPMailer to use SMTP authentication $mail->SMTPAuth = true; // Enable SSL encryption $mail->SMTPSecure = 'ssl'; // Tells PHPMailer to send HTML-formatted email $mail->isHTML(true); // The alternative email body; this is only displayed when a recipient // opens the email in a non-HTML email client. The \r\n represents a // line break. $mail->AltBody = "Email Test\r\nThis email was sent through the Amazon SES SMTP interface using the PHPMailer class."; if(!$mail->send()) { echo "Email not sent. " , $mail->ErrorInfo , PHP_EOL; } else { echo "Email sent!" , PHP_EOL; } 


출처: http://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/send-using-smtp-php.html

도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)