2013-06-14 2 views
1

У меня есть странная проблема, которую я пытаюсь решить с помощью библиотеки ruby ​​net/smtp. На самом деле, я думаю, это общий вопрос о SMTP. В принципе, если ответ является ошибкой, я не хочу, чтобы там было электронное письмо с сообщением о сбое доставки (по крайней мере, я не хочу его видеть). Я хочу выполнить это без использования фильтра в графическом интерфейсе. Я ищу решение для кодирования. Я не уверен, что это возможно с протоколом smtp, но я решил, что попробую. Вот мой код до сих пор:Suppress SMTP Response Email

msg = "Subject: Hi There!\n\nThis works, and this part is in the body." 
smtp = Net::SMTP.new 'smtp.gmail.com', 587 
smtp.enable_starttls 
smtp.start("gmail.com", username, password, :login) do 
    response = smtp.send_message(msg, email, recipients) 
    p response.message 
end 

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

Любая помощь будет потрясающей. Заранее спасибо.

+0

Что значит «вы не хотите его видеть»? – tadman

+0

Я отредактировал вопрос, но в основном я ищу решение для кода для удаления, архивирования или каким-либо другим способом для подавления ответа об ошибке электронной почты. –

ответ

1

Вы не можете сделать это с помощью SMTP, особенно при использовании серверов gmail, поскольку они обеспечивают правильное использование полей, чтобы вы не могли подделать свой собственный почтовый адрес. Обработка и отправка сообщений отказов является неотъемлемой особенностью SMTP, и вы не можете реально изменить это с вашего конца любым надежным способом.

два альтернативных решения приходят на ум:

а) Добавить фильтр на ваш GMail аккаунт обрабатывать рикошеты в какой бы путь вы выбираете (удалить их, поместите их в отдельную папку, пересылать их и т.д.).

b) Вы можете использовать рубиновый жемчуг GMail как https://github.com/nu7hatch/gmail и программно сканировать свою учетную запись GMail для отказов, а затем обрабатывать их любым способом, который вы выбираете, просто используя обычный код рубина.

Решение a) очень простое и требует очень небольшой настройки, но оно не так гибко, как то, что вы можете сделать с помощью b). Это зависит от того, что вы хотите сделать и как вы хотите фильтровать и обрабатывать отскоки.

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