Pear Mail - адрес получателя отклонен - ​​ошибка - PullRequest
2 голосов
/ 18 марта 2011

Я сталкиваюсь со следующей ошибкой при использовании Pear Mail:

Notice: Error in sending mail: Failed to add recipient: user@domain.com [SMTP: Invalid response code received from server (code: 550, response: 5.1.1 : Recipient address rejected: User unknown in virtual mailbox table)] in /PEAR/PEAR.php on line 873

Письмо не отправлено. Другие адреса электронной почты, такие как Gmail и Yahoo, работают нормально. Насколько мне известно, это только ошибки для конкретных почтовых клиентов.

Я использую следующий скрипт для отправки почты в очереди:

require_once "Mail/Queue.php";

$db_options['type']        = 'mdb2';
$db_options['dsn']         = 'mysql://username:password@localhost/db';
$db_options['mail_table']  = 'mailqueue';
$mail_options['driver']    = 'smtp';
$mail_options['host']      = 'hostAddress';
$mail_options['port']      = 25;
$mail_options['localhost'] = 'localhost'; //optional Mail_smtp parameter
$mail_options['auth']      = false;
$mail_options['username']  = 'user@domain.com';
$mail_options['password']  = 'password'; 

$max_amount_mails = 100;
$mail_queue =& new Mail_Queue($db_options, $mail_options);
$mail_queue->sendMailsInQueue($max_amount_mails);

У кого-нибудь есть идеи, почему эта ошибка будет вызвана для определенных адресов?

Я использую PHP5.2 / Apache2 (CentOS 5.5) / Pear Mail 1.2.0 / Pear Mail Queue 1.2.6 /

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Боже мой, это сообщение об ошибке содержит больше отступов, чем ошибок!Давайте разберемся с этим немного.

Notice: 
Error in sending mail: 
Failed to add recipient: user@domain.com 
[SMTP: 
Invalid response code received from server 
(code: 550, 
response: 5.1.1 : 
Recipient address rejected: 
User unknown in virtual mailbox table)]

Эта последняя строка - единственная, о которой мы заботимся.

SMTP-сервер посмотрел адрес, который вы использовали, и жалуется, что пользователь могне находитьсяДругими словами адрес является поддельным и отклоняется.

1 голос
/ 18 марта 2011

Каким-то образом электронная почта получателя обрабатывается как локальная почта (например, domain.com указывает на ваш локальный сервер, а имя пользователя не существует на вашем компьютере. Выполните поиск DNS в домене этого получателя и посмотрите его настройки MX. :

$ host -t mx domain.com
domain.com mail is handled by 10 someserver.domain.com
$ host someserver.domain.com
someserver.domain.com has address x.x.x.x

Возможно, хост MX является доменом "gag", например localhost, или если IP-адрес сервера MX равен 127.0.0.1, что обманывает спамеров в спаме.

...