Rails 请问腾讯企业邮箱怎么配置 Action Mailer?

TheLover_Z · 2013年07月26日 · 最后由 zengfengbo 回复于 2016年12月19日 · 19110 次阅读

:address => "xsmtp.exmail.qq.com", :port => 25, #:domain => "mail.qq.com", :user_name => "[email protected]", :password => "c", :authentication => "plain" #:enable_starttls_auto => true

在邮箱设置里看到「smtp.exmail.qq.com(使用 SSL,端口号 465)」,但是又在腾讯的另一份文档中看到「向 xsmtp.exmail.qq.com(端口:25, 暂不支持 SSL)发起 Smtp 发信请求」。

我测试了 25 和 465,包括 ssl 开启与否,都无法发送邮件。在邮箱已发送中也看不到任何东西。不知道是不是因为 :auth 和 :domain 填的不正确?在网上搜了 :domain 说是只有 gmail 才需要填这个……

- -。QQ 的 smtp 经常不能用,上次用 QQ 的 smtp 发了几封邮件,一封都没发出去。。。

我用的 amazon 的 ses,是这样设置的

require 'net/smtp'
module Net
  class SMTP
    def tls?
      true
    end
  end
end

xsmtp.exmail.qq.com 改成 smtp.exmail.qq.com, domain 设置成 qq.com

匿名 #5 2013年07月26日

看看 QQ 邮箱自己的设置啊

  • :address => smtp.exmail.qq.com || smtp.qq.com,不知道这两个有什么区别,官网介绍是前者,foxmail 自动配置的时候用的是后者,我就用后面了那个
  • :domain => qq.com,如果用企业邮箱的,试过用企业邮箱的那个域名也是可以发的
  • :port => 25,ssl 的没试过
  • 最后注意发信人邮箱要设置和:user_name 的一样,不然 qq 邮箱会验证不通过,之前配置 discourse 时就是因为这个地方没注意,折腾好一会

希望对 lz 有帮助

跑题一个,用过腾讯企业免费邮箱,且量发一些简单内容的,容易被识别为垃圾邮件然后发不出去(是发不出去,不是对方收不到/收到垃圾邮件)

address: smtp.exmail.qq.com port: 25 domain: exmail.qq.com authentication: :login user_name: "[email protected]" password: "c"

非常感谢楼上各位,我明天试试。我看了看「喜欢」好像和 V2EX 的感谢功能不太一样。在此再次感谢各位~

#8 楼 @jiek85 您的这个有效!非常非常感谢!!!

为什么上面这些设置我都试了一遍还是没发成功。。用自己的 qq 邮箱就可以,囧

这个配置测试通过了:

if Rails.env.production? Rails.application.config.action_mailer.delivery_method = :smtp Rails.application.config.action_mailer.raise_delivery_errors = true

ActionMailer::Base.smtp_settings = { address: "smtp.exmail.qq.com", port: 465, user_name: "xxx@xxxx", password: "xxx", domain: "qq.com", authentication: :plain, ssl: true } end

这儿的文档没有讲 ssl 这个参数:http://api.rubyonrails.org/classes/ActionMailer/Base.html

config.action_mailer.smtp_settings = {
  :address              => "smtp.exmail.qq.com",
  # :port                 => 587,
  :port    => 465,
  :domain               => 'exmail.qq.com',
  :user_name            => ENV['rrgene_username'],
  :password             => ENV['rrgene_password'],
  :authentication       => :login,
  # :enable_starttls_auto => true
  :ssl => true
}

ssl 对应 465 starttls 对应 587

需要 登录 后方可回复, 如果你还没有账号请 注册新账号