我正在实现我的一个客户需求。。即。,从应用程序中没有给定密码凭据的帐户发送邮件我也很惊讶看到这种方法后的网站之一,即
https://www.freshsales.io/
我正在通过这个网络发送邮件。。。但我的gmail发送项目中更新的所有发送邮件。。。我试着用这种方式在配置文件中设置
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { host: 'localhost', port: 9292}
config.action_mailer.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: 'imap.gmail.com'or'imap.hotmail.com'or'imap.yahoo.com', # default: localhost
port: '993', # default: 25
user_name: 'debasish.industrify2016@gmail.com',
password: 'deb@industrify',
authentication: :plain # :plain, :login or :cram_md5
}
有人告诉我他们使用的是什么样的方法或协议吗?
网站不提供邮件服务。在您的示例中,您将debasish.industrify2016@gmail.com
指定为您的邮件传递服务帐户,我相信您使用gmail进行邮件服务,那么config/production.rb
中的配置文件应该具有以下内容:
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com", # or imap.gmail.com
port: 587,
domain: "gmail.com",
authentication: "plain",
user_name: "user_name", # without @domain
password: ENV.fetch("SMTP_PASSWORD"),
authentication: :plain
}
密码和user_name不应该直接泄露,相反,它应该在您的应用程序中设置为环境变量,我认为这可能是您想要的。
如何设置ENV取决于您的生产服务器:
例如Heroke:
heroku config:set SMTP_PASSWORD=deb@industrify
至于邮件协议,我只使用了stmp
,当然可以使用imap
或pop3
,区别