Письма, отправленные с рельсов с O365, отклоняются как спам - PullRequest
0 голосов
/ 14 ноября 2018

У меня установлено приложение Rails 5 на Heroku.Я использую устройство для электронной почты и настроил все правильно, чтобы отправлять электронные письма для сброса пароля.Это прекрасно работает в моей среде разработки.Однако при отправке с производства в папке входящих сообщений 0365 появляется ошибка:

Generating server: CO2PR13MB0140.namprd13.prod.outlook.com
myemail@gmail.com
Remote Server returned '550 5.7.708 Service unavailable. Access denied, traffic 
not accepted from this IP. For more information please go to 
http://go.microsoft.com/fwlink/?LinkId=526653 AS(8561) 
[CO2PR13MB0124.namprd13.prod.outlook.com]'
Original message headers:

Received: from CO2PR13MB0140.namprd13.prod.outlook.com
([fe80::c872:9c6:9d6a:8b3]) by CO2PR13MB0140.namprd13.prod.outlook.com
([fe80::c872:9c6:9d6a:8b3%4]) with mapi id 15.20.1339.019; Wed, 14 Nov 2018
02:42:20 +0000
MIME-Version: 1.0
Content-Type: text/plain
Date: Wed, 14 Nov 2018 02:42:20 +0000
Message-ID:
<5beb8b87e888a_42b06292aba70609bd@01184e4c-2116-478b-a773-fcc26ac206aa.mail>
Subject: Reset password instructions

При просмотре и обращении в службу поддержки выясняется, что он отклонен, поскольку сторонний сервер(я предполагаю, что мое приложение на Heroku) пытается отправить электронное письмо с настройками 0365.

Вот мои настройки development.rb, которые отлично работают:

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_caching = true

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address        => 'smtp.office365.com',
  :port           => '587',
  :authentication => :login,
  :user_name      => ENV['365_USERNAME'],
  :password       => ENV['365_PASSWORD'],
  :domain         => 'mysite.com',
  :enable_starttls_auto => true
}

Вот мои настройки production.rb, которые заставляют O365 отклонять электронную почту.Я пытался играть с этим совсем немного.И я убедился, что электронная почта «от» соответствует электронной почте для входа.т.е. я не пытаюсь отправить письмо с no-reply@mysite.com или аналогичного.

config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_caching = false
config.action_mailer.default_url_options = { :host => 'www.mysite.com' }
config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
  :address        => 'smtp.office365.com',
  :port           => '587',
  :authentication => :login,
  :user_name      => ENV['365_USERNAME'],
  :password       => ENV['365_PASSWORD'],
  :domain         => 'mysite.com',
  :enable_starttls_auto => true
} 

Из обсуждений с поддержкой.Возможно, мне понадобится добавить запись SPF TXT, чтобы разрешить отправку электронных писем с удаленного сервера.Проблема в том, что я понятия не имею, что добавить к записи SPF.Моя текущая spf-запись:

v=spf1 include:spf.protection.outlook.com -all

1 Ответ

0 голосов
/ 14 ноября 2018

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

Если вы отправляете сообщения из Heroku, возможно, вам также потребуется указать их в своем SPF.Также убедитесь, что имя вашего хоста разрешается как в обратном, так и в обратном направлении - это должно быть возможно на панели управления Heroku.

После того, как вы это сделаете, проверьте, что ваша запись SPF передает ваш источник сообщений с помощью kitterman.com.или сервисы тестирования mxtoolbox.

Политика фильтрации и блокировки спама в O365 в любом случае довольно плохая, однако я добился успеха в том, чтобы попросить их удалить блоки, хотя вам нужно продолжать, потому что они отклоняют все такие запросы по умолчанию.Это плохой сервис, но он все же намного лучше, чем вы получаете из Gmail.

...