我已经部署在Heroku上一个Rails应用程序5。我使用设计的电子邮件,并正确设置有一切发送密码重置邮件。这工作完全在我的开发环境。然而,当我从生产送我得到了我的收件箱0365的错误,即:
Generating server: CO2PR13MB0140.namprd13.prod.outlook.com
[email protected]
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
}
这里是导致O365拒绝电子邮件我production.rb设置。我试着用这些颇有几分播放。而且我保证,“从”邮件登录电子邮件相匹配。即我并不想从[email protected]或类似的发送。
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
他们的反应只是说他们列入黑名单您的IP,所以它不是到你的邮件内容。
如果您是从Heroku的发送,你可能需要列出他们在您的SPF为好。此外,还要确保您的主机名解析向后以及向前 - 应在Heroku的控制面板是可能的。
一旦你这样做,请检查您的SPF记录提供了一通使用kitterman.com或mxtoolbox测试服务,您的消息源。
O365的垃圾邮件过滤器阻止策略是非常糟糕的,无论如何,可是,我却在要求他们的支持,以去除块,但你必须坚持下去,因为他们拒绝在默认情况下所有此类请求必须成功。这是服务差,但它仍然远不如你会从Gmail中获得。