GMail SMTP для отправки почты, получена ошибка (4.7.0), но почта отправлена! - PullRequest
2 голосов
/ 18 июня 2009

Я использую SMTP-сервер GMail для отправки почты. И PHPMailer как скрипт отправки почты.

Я получил эту ошибку (я регистрирую все ошибки SMTP, то есть, когда PHPMailer :: Send терпит неудачу): -

SMTP Error: Data not accepted.<p>SMTP server error: 4.7.0 Temporary System Problem.  Try again later (WS)

Но письма действительно отправлены. (Это я знаю, сопоставляя метку времени отправленных писем и метку времени в журнале.)

Как это возможно? Что означает эта ошибка?

ОБНОВЛЕНИЕ : Мне кажется, я не совсем понял свой вопрос. Позвольте мне перефразировать это: -

Я не беспокоюсь , если письмо потеряно после того, как PHPMailer сможет отправить его в GMail SMTP. Но я беспокоюсь, что PHPMailer вернул ошибку, но письмо было отправлено. Возможно ли это?

1 Ответ

2 голосов
/ 18 июня 2009

Я думаю, что SMTP не гарантирует доставку в любом случае. Это механизм хранения и пересылки. Вот почему некоторые электронные письма могут пропадать (например, при сбое реле во время передачи сообщения).

Если вы зависите от электронной почты для выполнения важных функций, возможно, вы захотите применить какой-либо механизм обратной связи (возможно, через ответ). Затем, если ответ не получен в течение определенного периода времени, попробуйте снова.

ОБНОВЛЕНИЕ : Это, безусловно, возможно. Все, что вам нужно, это почтовый сервер, который отправляет вам код ошибки. Он может отправить код ошибки по разным причинам, слишком много, чтобы перечислить. Я предложил вышеупомянутый метод, потому что вы никогда не должны принимать ответы сервера только на доверии, особенно если он не обладает атомарностью / кислотностью.

...