redmine Email Configuration

email设置
 

Configuration Directives

配置指令
 
这个页面正在编辑中, 下文的配置指令仅仅只是其中的一部分.
请查阅  Action Mailer Configuration 来获取更详细的信息.
 

authentication 验证

 
验证方法的类型是由你的服务来提供的.
 
有效的设置:
  • nil (或者省略key)也就是不验证
  • :plain
  • :login
  • :cram_md5
(注意: 如果你设置了nil 或者省略了它, 你就不必包括 user_name 和 password 的设置)
 
delivery_method
email的发送方式需要被用到
 
有效的设置:
  • :smtp
  • :sendmail
  • :async_smtp
  • :async_sendmail
 

Asynchronous delivery_methods 异步的发送方法

:async_smtp 和 :async_sendmail 用于异步的发送, 这意味着Redmine不会等着email被发送到显示下一个页面. 参考 Asynchronous Email Delivery 可以获得更多的细节. 一些SMTP服务有一段时间的延时, 类似于处理垃圾邮件之前, 在这段时间同步的方法会阻塞Redmine.
 
使用这个发送方法, smtp配置是明确使用了 async_smtp_settings 的关键词:
development:
  email_delivery:
    delivery_method: :async_smtp
    async_smtp_settings:
    ...

Example configuration.yml Configurations 配置例子

简单的Login验证(默认设置)
# Outgoing email settings

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: smtp.example.net
      port: 25
      domain: example.net
      authentication: :login
      user_name: [email protected]
      password: redmine

development:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: 127.0.0.1
      port: 25
      domain: example.net
      authentication: :login
      user_name: [email protected]
      password: redmine

如果你想要使用 GMail/google的其他应用和其他的TLS-requiring SMTP servers, 你将会不得不增加TLS-related的设置:

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.gmail.com" 
      port: '587'
      domain: "smtp.gmail.com" 
      authentication: :plain
      user_name: "[email protected]" 
      password: "your_password" 
这里有一个Office 365(现在交换)用户的例子, 发送者必须拥有一个帐号, 或者你想要从一个共享的邮箱来发送email, 下方的账户必须要验证"Send As"发送者, 这个账户可以在Redmine中的email 通知中可以被定义.
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.office365.com" 
      port: '587'
      domain: "your_domain.com" 
      authentication: :login
      user_name: "email@your_domain.com" 
      password: "password" 
然后, 这只能运行在"最近的"ruby和rails版本中(1.8.7 patchset 2xx and 2.3.5)
 

No Authentication 不验证

这个例子是对于一个SMTP服务提供者不带验证的.
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: smtp.knology.net
      port: 25
      domain: cybersprocket.com

Using sendmail command 使用sendmail命令

这个例子是对于一个unix系统, 使用 /usr/sbin/sendmail命令.
production:
  email_delivery:
    delivery_method: :sendmail
 

Troubleshooting 检修

Error: "hostname was not match with the server certificate"

如果你得到这个错误, 可能是关于验证你的smtp回传的SSL证书问题. 有个临时性的解决, 你可以在合适的"email_delivery"部分设置这个属性:
enable_starttls_auto: false
 

Error: "Mail failure - no recipient addresses"

当这个问题发生的时候, 通知没有被发送到目的地地址. 取而代之的, 你将可能在发送方地址处收到一个拒绝的信息, 在哪个被发送信息的开头处, 包含了字段"From:", 但没有包含任何"To:"字段.
 
这个错误一般存在于Debian邮箱, 由于其默认的配置方式是exim4, "-i -t". 这个配置告知exim4,
目标地址在消息头的内部. 也就是, 我们需要去配置exim4, 以至于目标地址将会从命令行哪里被接收到.
 
解决的办法就是编辑你的  config/configuration.yml , 确认你定义了 arguments 包含了字符串 "-i", 如同下文显示的:
# default configuration options for all environments
default:
  email_delivery:    
    delivery_method: :sendmail
    sendmail_settings:
      arguments: "-i" 

例子使用的 :sendmail方法, 使用了 sendmail_settings. 在例子中你使用的是 :smtp 或者 :async_smtp 方法, 取而代之地尝试 smtp_settings.

 

更多的消息

猜你喜欢

转载自jiajie0531.iteye.com/blog/2082989