У меня проблемы с отправкой почты. У меня есть сервер Ubuntu, на котором работает postfix в качестве почтового сервера. Веб-приложение основано на symfony 1.2 и имеет Swift 3 для рассылки. Everyrhing работает на одном сервере. Это код, который я пытаюсь запустить:
public static function sendMailLocal($mailFrom, $mailto, $subject, $mailBody, $prevError)
{
$mailer = null;
try
{
$connection = new Swift_Connection_SMTP('localhost', '25');
$mailer = new Swift($connection);
// Create the mailer and message objects
$message = new Swift_Message($subject, $mailBody, 'text/html');
// Send
$mailer->send($message, $mailto, $mailFrom);
$mailer->disconnect();
}
catch (Exception $e)
{
if($mailer != null)
$mailer->disconnect();
throw new EmailTransferException ("There was an error while trying to send the email - locally:" . $e->getMessage() . " , first error:" . $prevError);
}
}
Это сообщение об ошибке, которое я получаю:
Произошла ошибка при попытке отправить электронное письмо - локально: SMTP-соединение не удалось запустить [localhost: 25]: fsockopen вернул ошибку с номером 111 и строку ошибки «Соединение отказано»,
Это немного странно, потому что мне удалось отправить письмо без swift с этим кодом:
//adresses are examples
$to = "john.doe@mail.com";
$sender_email = "someone@mail.com";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: <'.$to.'>' . "\r\n";
$headers .= 'From: John Doe<'.$sender_email.'>' . "\r\n";
// Mail it
$success = mail($to, "test from server", "msg", $headers);
У кого-нибудь есть идеи по этому поводу?
спасибо!