Я пишу программу на Flex / Actionscript и использую сервер Apple OSX с Postfix. Если сообщение не может быть отправлено, оно сохраняется в базе данных для отправки позже.
Моя проблема в том, что если у меня есть, скажем, 3 сообщения электронной почты в базе данных, то мне нужно знать, какие из них (если есть) были успешно поставлены в очередь, когда я пытаюсь отправить их на свой постфиксный сервер.
Однако ответы возвращаются не по порядку?
Ниже приведен пример ответа на 3 письма.
На заметку: я ввожу VRFY для неизвестного пользователя (чтобы я мог его найти), отсюда и 550 ответов.
500 (плохой синтаксис, это мой плохой, в основном неправильный перевод строки, я считаю)
Все мои письма, которые должны быть отправлены успешно, но мне нужно знать, какие из них не были отправлены успешно, когда они терпят неудачу, поэтому я не удаляю их из базы данных, а пытаюсь снова
Я ожидаю, что сообщения в очереди будут в теле каждого ответа сокета электронной почты, за исключением ответа (221) Bye, что происходит с 3 другими отправленными электронными письмами?
Любые мысли приветствуются.
Заранее благодарю за любую помощь
Фил.
======== Ответы сервера на три письма, успешно поставленные в очередь ==========
220 web.org ESMTP Postfix
220 web.org ESMTP Postfix
220 web.org ESMTP Postfix
550 5.1.1: адрес получателя отклонен: пользователь неизвестен в локальной таблице получателей
250 deadweb.org
334 V22l225hbWU6
334 U222233vcmQ6
235 Аутентификация прошла успешно
250 2.1.0 Хорошо
250 2.1.5 Хорошо
500 5.5.2 Ошибка: неверный синтаксис
354 Завершите данные с помощью.
550 5.1.1: адрес получателя отклонен: пользователь неизвестен в локальной таблице получателей
250 deadweb.org
334 V22l225hbWU6
334 U222233vcmQ6
235 Аутентификация прошла успешно
250 2.1.0 Хорошо
250 2.1.5 Хорошо
500 5.5.2 Ошибка: неверный синтаксис
354 Завершите данные с помощью.
550 5.1.1: адрес получателя отклонен: пользователь неизвестен в локальной таблице получателей
250 deadweb.org
334 V22l225hbWU6
334 U222233vcmQ6
235 Аутентификация прошла успешно
250 2.1.0 Хорошо
250 2.1.5 Хорошо
500 5.5.2 Ошибка: неверный синтаксис
354 Завершите данные с помощью.
250 2.0.0 Ok: в очереди как 504596E372
221 2.0.0 Пока
250 2.0.0 Ok: в очереди 71F026E373
221 2.0.0 Пока
250 2.0.0 Ok: в очереди как 970A06E374
221 2.0.0 Пока
==========
Ответы возвращаются по порядку в рамках одного сеанса SMTP, но кажется, что ответы из трех разных сеансов SMTP смешаны в одном журнале. Вы должны отслеживать каждый сеанс SMTP отдельно, и как только вы получите 250 2.0.0 Ok: queued
вы можете удалить сообщение из базы данных.