Swiftmailer-Konfiguration: Senden Sie E-Mails mit Google Mail
Ich kann mit swiftmailer von meinem PC aus E-Mails senden, aber die E-Mails werden nicht auf dem Server gesendet.
Ich benutze Swiftmailer 5.0.1. Projektdetails sind,
Ein einfaches PHP-Projekt in NetBeansswiftmailer 5.0.1Zweig 1.13.1Mein Code ist
public function init() {
$this->username = '[email protected]';
$this->password = 'password';
$this->host = 'ssl://smtp.gmail.com';
$this->port = 465;
$this->from = '[email protected]';
$this->subject = 'Company - contact';
$this->body_part_type = 'text/html';
}
public function send_email($from_name_add, $to_add, $fullname, $email, $mobile, $content) {
$this->init();
$transport = Swift_SmtpTransport::newInstance($this->host, $this->port)
->setUsername($this->username)
->setPassword($this->password);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$cid = $message->embed(Swift_Image::fromPath('../public_html/pic/logo.png'));
$this->body = $this->renderEmailTemplate('email', $fullname, $email, $mobile, $content, $cid);
$message->setSubject($this->subject)
->setFrom(array('[email protected]' => '' . $from_name_add))
->setTo($to_add)
->setContentType($this->body_part_type)
->setBody($this->body);
$result = $mailer->send($message);
return $result;
}
Dieser Code funktioniert einwandfrei in meinem PC. Nachdem Sie diesen Code / dieses Projekt auf den Server hochgeladen haben, wird die E-Mail nicht gesendet. Fehler ist,
<br />
<b>Fatal error</b>: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host ssl://smtp.gmail.com [Connection timed out #110]' in /home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php:259
Stack trace:
#0 /home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php(64): Swift_Transport_StreamBuffer->_establishSocketConnection()
#1 /home/am***/lib/Swift/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array)
#2 /home/am***/lib/Swift/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start()
#3 /home/am***/controller/send_mail.php(54): Swift_Mailer->send(Object(Swift_Message))
#4 /home/am***/public_html/contact.php(43): send_mail->send_email('Am*** Inc', 'fe****@gma...', 'asdf', '[email protected]', '111111111111', 'Testing mail')
#5 {main}
thrown in <b>/home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php</b> on line <b>259</b><br />
HINWEIS: Auf diesem Server ist bereits ein PHP-Symfony2-Projekt aktiv. Dieses Projekt kann E-Mails erfolgreich senden.
Hier ist der symfony2 Code,
$message = \Swift_Message::newInstance()
->setSubject($sub)->setFrom($from)->setTo($to)->setContentType("text/html")
->setBody($this->renderView('FZAm***Bundle:Layout:mail.html.twig', array
('name' => $this->fullname, 'mobile' => $this->mobile, 'email' => $this->email,
'content' => $this->content, 'time' => $this->sys_time, 'ip' => $userip,
'server_time' => date('Y-m-d H:i:s'))
));
try {
$this->get('mailer')->send($message);
// catch and other follows.
Konfigurationsdetails sind,
mail_contact_from: [email protected]
mail_contact_to: [email protected]
mail_contact_sub: Contact info
Ich habe nur diese Details übergeben und alle Einstellungen sind Standard. Wenn irgendwelche Informationen benötigt werden, bitte fragen Sie mich.
Grund, warum ich vom symfony2-Projekt auf dieses gewöhnliche PHP + Swift + Twig umsteige, ist, dass mein Hosting nur 100 MB beträgt und ich mehr Bilder hochladen muss. Aber symfony2 nimmt mehr Platz ein.