2015-03-02 3 views
8

Я хочу отправить почту через php-почту в службу Amazon SES, используя PHP Mail. Но я не могу отправить send. Я уже проверяю свой email_id. Я использую этот учебник в качестве ссылки http://www.codeproject.com/Articles/786596/How-to-Use-Amazon-SES-to-Send-Email-from-PHP. Но он не отправляет почту с сервисов SAS Amazon, пожалуйста, скажите мне, где я ошибаюсь? Раньше я использовал один и тот же идентификатор для отправки писем с локального сервера XAMPP. Он работал.Как отправить почту через php-почту на услуге SAS Amazon?

sendMail.php

<?php > 
function Send_Mail($to,$subject,$body) 
{ 
    require 'class.phpmailer.php'; 
    $from = "Senders_Email_Address"; 
    $mail = new PHPMailer(); 
    $mail->IsSMTP(true); // SMTP 
    $mail->SMTPAuth = true; // SMTP authentication 
    $mail->Mailer = "smtp"; 
    $mail->Host= "tls://email-smtp.us-east.amazonaws.com"; // Amazon SES 
    $mail->Port = 465; // SMTP Port 
    $mail->Username = "Senders_Email_Address"; // SMTP Username 
    $mail->Password = "MyPassword"; // SMTP Password 
    $mail->SetFrom($from, 'From Name'); 
    $mail->AddReplyTo($from,'Senders_Email_Address'); 
    $mail->Subject = $subject; 
    $mail->MsgHTML($body); 
    $address = $to; 
    $mail->AddAddress($address, $to); 
    if(!$mail->Send()) 
     return false; 
    else 
     return true; 
} 
?> 

index.php

<html> 
<body>  
<h1>Welcome to my home page!</h1> 
<p>Some text.</p> 
<p>Some more text.</p> 
<?php 
require 'sendMail.php'; 
$to = "Senders_Email_Address"; 
$subject = "Test Mail Subject"; 
$body = "Hi<br/>Test Mail<br/>Amazon SES"; // HTML tags 
Send_Mail($to,$subject,$body); 
?> 

</body> 
</html> 

sendMail.php, class.phpmailer.php, class.smtp.php и index.php находятся в тот же каталог.

ответ

6

Нилабх, вам чего-то не хватает. попробуйте следующее:

<?php > 
function Send_Mail($to,$subject,$body) 
{ 
require 'class.phpmailer.php'; 
$from = "verified_email address"; 
$mail = new PHPMailer(); 
$mail->IsSMTP(true); // SMTP 
$mail->SMTPAuth = true; // SMTP authentication 
$mail->Mailer = "smtp"; 
$mail->Host= "tls://email-smtp.us-east.amazonaws.com"; // Amazon SES 
$mail->Port = 465; // SMTP Port 
$mail->Username = "Your_SMTP_Username 
"; // SMTP Username 
$mail->Password = "SMTP_Password"; // SMTP Password 
$mail->SetFrom($from, 'From Name'); 
$mail->AddReplyTo($from,'yourdomain.com or verified email address'); 
$mail->Subject = $subject; 
$mail->MsgHTML($body); 
$address = $to; 
$mail->AddAddress($address, $to); 

if(!$mail->Send()) 
return false; 
else 
return true; 

} 
?> 

Кроме того, создать индексный файл, как показано ниже:

<?php 
require 'Send_Mail.php'; 
$to = "[email protected]"; 
$subject = "Test Mail Subject"; 
$body = "Hi<br/>Test Mail<br/>Amazon SES"; // HTML tags 
Send_Mail($to,$subject,$body); 
?> 

Пожалуйста, обратите внимание, что если у вас есть только песочнице доступ SES, то получатель адрес электронной почты, также должен быть проверен. или вы можете проверить свой домен. дайте мне знать, если это сработает.

+0

нажмите здесь, чтобы получить [class.php.mailer] (http://www.johnboy.com/blog/sending-email-with-amazon-ses-smtp-and-phpmailer) – Mark

Смежные вопросы