2017-02-28 5 views
0

I PHPmailer bin mit Kontoüberprüfung Mail zu schicken, ich bin mit AWS EC2 Fall jedoch ist, dass Mailer funktioniert gut in localhost aber wenn ich laden dass auf Server E-Mails werden nicht, zunächst, i verwendet SendGrid Zugangsdaten E-Mails zu senden, fehlgeschlagen ist, dann versucht Gmail SMTP, fehlgeschlagen ist, und irgendwo habe ich gelesen, dass EC2 keine E-Mails senden können, dann habe ich SES kann auch immer noch nicht senden können.PHPMailer nicht in der Lage E-Mail senden mit EC2

im Web abt, dass gesucht, aber keine Antworten meines Problems Festsetzung

in localhost, in E-Mails mit dem gleichen Code und mit SendGrid von Google Mail-Anmeldeinformationen senden kann, warum ich nicht senden kann mit dem Server?

mein PHP-Mailer-Code ist:

$sub = "Thankyou For registration! Confirm Your mail to Login"; 
$mailBody = "<h1>You are successfully registered<br />Visit site to login</h1>"; 

require 'mailer/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->isSMTP();         // Set mailer to use SMTP 
$mail->Host = "tls://email-smtp.us-east-1.amazonaws.com";     // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;       // Enable SMTP authentication 
$mail->Username = "smtp_username";   // SMTP username 
$mail->Password = "smtp_password"; // SMTP password 
// $mail->SMTPSecure = 'ssl';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 465;         // TCP port to connect to 

$mail->setFrom("[email protected]", "SMTP_REPLAY_NAME"); 
$mail->addReplyTo("[email protected]", "SMTP_REPLAY_NAME"); 
$mail->addAddress("[email protected]"); // Add a recipient 

$mail->isHTML(true); // Set email format to HTML 
$mail->Subject = $sub; 
$mail->Body = $mailBody; 
if(!$mail->send()) { 
echo 'Message could not be sent.'; 
} else { 
echo 'Message has been sent'; 
} 

es zeigt Nachricht gesendet wurde, aber ich kann nicht in Spam Ordner auch keine Ahnung von dem Mail-E-Mails, überprüft erhalten!

sogar ich habe OpenSSL-Zertifikat auch! geöffneter SMTP-Port sowohl für eingehende als auch für ausgehende in Sicherheitsgruppe von ec2, alles funktioniert gut, aber PHPMailer!

+1

AWS ist derzeit Dienstausfälle: https://status.aws.amazon.com/ –

+0

jetzt asiatische Region Server sind up, und ich benutze SendGrid für SMPT (für jetzt), nicht S3 –

+0

danke ich tat Debug und gefunden Antwort [hier] (https://gistpages.com/posts/phpmailer_smtp_error_failed_to_connect_to_server_permission_denied_13_fix) –

Antwort

0

Erhalten Sie Ihre Protokolle gerade. In Host geben Sie tls an, aber teilen Sie es mit Port = 465, die nicht mit TLS funktioniert. Ändern Sie entweder Port in 587 (bevorzugt) oder ändern Sie Ihre Verschlüsselungsmethode in ssl. Das Aktivieren der Debug-Ausgabe (SMTPDebug = 2) wird Sie darüber informieren, was in der Konversation mit dem Server passiert.

Eine Durchsicht von the troubleshooting guide würde wahrscheinlich helfen.

+0

Ich versuchte mit SSL und TLS mit Port 465 und 587. Wie ich schon sagte Mails senden und ich empfange diese Mails, wenn ich ' m in localhost verwendet –

+0

änderte diese Einstellungen wieder, aber die Nachricht zeigt Erfolg, aber Mail kann ich noch nicht empfangen !! –

+1

Was sagt die Debug-Ausgabe? Fügen Sie es Ihrer Frage hinzu. – Synchro

Verwandte Themen