Redmine 邮件服务配置(EOFError: end of file reached)

邮件服务端口:

 

25端口(SMTP):25端口为SMTP(Simple Mail Transfer
Protocol,简单邮件传输协议)服务所开放的,是用于发送邮件。

 

465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。

 

本地测试邮件服务:

1.创建工程:rails new test_mailer

2.脚手架:rails g mailer UserMailer 

3.编辑app/mailer/user_mailer

class UserMailer < ActionMailer::Base
  default from: "[email protected]"
  def send_mail(params = {})
    mail( :subject => 'abcAAAAAAAASDFADSFADSFADSFDASFASDF', 
          :to => "[email protected]", 
          :from => '[email protected]', 
          :date => Time.now
        ) 
  end 
end

 4.配置邮件服务

ActionMailer::Base.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default :charset => "utf-8"
  ActionMailer::Base.smtp_settings = {  
    :address => "smtp.163.com",
    :port => 25,
    :domain => "163.com",
    :authentication => :login,
    :user_name => "****@163.com",
    :password => "****"
  }

 5. 开启控制台rails c

 6. 发送邮件 UserMailer.send_mail(nil).deliver 

 

Redmine2.6中163邮件服务配置如下,可以使用如上方法测试邮件服务是否正常

 

development:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      tls: true
      address: "smtp.163.com"
      port: 25
      domain: "smtp.163.com"
      authentication: :login
      user_name: "**163.com"
      password: "***********"

 

Redmine2.6在配置SMTPS得时候报错:EOFError: end of file reached解决方案: 将Gemfile.lock中得mail版本从2.5.4降到2.5.3, 并在配置文件中新增 tls: true

development:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      tls: true
      address: "**.com"
      port: 465
      domain: "**.com"
      authentication: :plain
      user_name: "***@***.com"
      password: "******"


 

更多精彩内容清关注微信订阅号: Ruby程序员

 

你可能感兴趣的:(File,end,mail,of,reached,EOFError:)