Я только начал изучать, как использовать SwiftMailer, и у меня возникли проблемы с отправкой простого тестового сообщения с моего localhost. Ниже приведен код, который я пытаюсь использовать.
//Pass it as a parameter when you create the message $message = Swift_Message::newInstance(); $message->setSubject('My subject'); $message->setFrom(array('noreply@domain.com' => 'No Reply')); $message->setTo(array('myemail@domain.com' => 'My Name')); $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25); //Supposed to allow local domain sending to work from what I read $transport->setLocalDomain('[127.0.0.1]'); $mailer = Swift_Mailer::newInstance($transport); //Send the message $result = $mailer->send($message);
Вот часть моего сообщения об ошибке,
Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]:php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/Swift/Transport/StreamBuffer.php
Обновить
Я получил его для работы с помощью gmail. Я изменил строку Swift_SmtpTransport следующим образом:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('username')->setPassword('password');
localhost
– это псевдоним для текущего компьютера (в этом случае работает PHP). Если вы действительно хотите отправить почту с помощью localhost, вы скажете так:
$transport = Swift_SmtpTransport::newInstance('localhost', 25);
… но вам также необходимо установить и настроить собственный почтовый сервер. Если вы не знаете, что это такое, я предлагаю вам использовать SMTP-сервер вашего почтового провайдера.