2014-02-18 2 views
-1

Я пытаюсь заставить Swiftmailer работать, но продолжаю получать сообщения «отклоненные получатели».

Что вызывает ответ «отказ получателя»? Является ли это ответом от сервера gmail (gmail считает это СПАМ)? Есть ли способ преодолеть это? В противном случае я откажусь от Swiftmailer и попробую PHPMailer. У меня был успех с пакетами PEAR в прошлом, но он устал от конфигурации и собирался сначала попробовать Swiftmailer ... это не должно быть так сложно?
Ошибка Swiftmailer: получатель отклонен

My Configuration:
- PHP 5.5.6
- Swiftmailer 5.0.3 (with Logger Plugin)
- Hosting by GoDaddy (yeah...I know)

Goal: Use Swiftmailer to send SMTP message from [email protected] to [email protected]
(obviously the email addresses are placeholders for actual addresses)


Вот PHP код: (такой же, как, например, в Swiftmailer documentation)

<?php 
    require_once 'lib/swift_required.php'; 

    $transport = Swift_SmtpTransport::newInstance('smtp.mydomain.org', 25) 
     ->setUsername('[email protected]') 
     ->setPassword('mypassword') 
     ; 

    $mailer = Swift_Mailer::newInstance($transport); 


    $logger = new Swift_Plugins_Loggers_EchoLogger(); 
    $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); 

    $message = Swift_Message::newInstance('Wonderful Subject') 
     ->setFrom(array('[email protected]' => 'admin')) 
     ->setTo(array('[email protected]' => 'recipient')) 
     ->setBody('Here is the message itself') 
     ; 

    $result = $mailer->send($message); 
    echo $logger->dump(); 
?> 

Вот соответствующая информация логгер:

... 
    ++ Swift_SmtpTransport started 
    ... 
    >> RCPT TO: <[email protected]> 
    << 550 5.1.1 <[email protected]> recipient rejected 
    !! Expected response code 250/251/252 but got code "550", with message "550 5.1.1 <[email protected]> recipient rejected " 
    >> RSET 
    << 250 2.0.0 OK 
    ++ Stopping Swift_SmtpTransport 
    >> QUIT 

ответ

2

Не "реального" ответьте, но слишком долго для поля комментариев:

Is this a response from the gmail server

Да.

recipient rejected означает, что каким-то образом получатель (то есть адрес, по которому вы отправляете почту, legal @ gmail.com`) отклоняется.

Это может иметь ряд причин

  • Адрес электронной почты не существует (больше) (вполне вероятно)
  • почтовый ящик пользователя полон (вполне вероятно)
  • Счет заблокирован Gmail (вполне вероятно)
  • пользователь установил фильтр, чтобы явно отклонять от вас письма (не уверен, что это можно сделать с помощью gmail, но это технически возможно).
  • Ваше сообщение считается спамом (вряд ли, вы, вероятно, получите другое сообщение)
  • ... многие другие ...

Это несколько неудачно, что Gmail не предоставляет больше информации, как к причина. Я не могу найти никакой документации по кодам ошибок в Gmail (550 является общим «он не» код), и, как правило, это своего рода сообщения более многословны ...

Что вы могли бы попробовать:

  • Сделать очень уверен, что письмо существует и является действительным. Используйте другой адрес gmail (т. Е. Один доступный вами).
  • Проверьте, если вы в черном списке, например, с помощью: http://mxtoolbox.com/blacklists.aspx
  • Try отправки почты из smtp.mydomain.org, например, с помощью утилиты командной строки mail (если это окно UNIX), если это не работает, вы знаете проблему на почтовом сервере, если он работает, вы знаете, что проблема связана с почтовой программой Swift.
+0

только для добавления в черный список: gmail использует только черный список спам-хаусов, если только это не изменилось недавно.любые другие листинги не должны влиять на вашу способность доставлять. но да, говоря из первых рук, это не проблема черного списка - они выписывают код, специфичный для этого события (5.7.1). Я поддержал ваш ответ, хотя все сказанное здесь происходит. – skrilled

+0

Учетная запись gmail, которую я отправляю, является моей учетной записью Gmail, поэтому я знаю, что она существует, не заполнена, не заблокирована и не имеет фильтра. Это заставляет меня думать, что gmail рассматривает спам по электронной почте. Это кажется странным, потому что я использовал самый простой пример Swiftmailer и был заблокирован одной из самых популярных почтовых служб? Это не сулит ничего хорошего для Swiftmailer, если это так. – Sparebrain

+0

Последующие действия: я могу отправить почту с помощью почтовой утилиты. Я подозреваю, что проблема связана с Swiftmailer. Это кажется простым для других дублировать/проверять с помощью своих собственных адресов gmail. Если gmail блокируется, это должно быть более часто сообщаемой проблемой. Я подозреваю, что это что-то еще с настройками Swiftmailer? – Sparebrain

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