我正在尝试让 Redmine 发送通知电子邮件,但似乎无法正常工作。我正在遵循Redmine 网站上的电子邮件配置说明,但似乎没有任何效果。
我的configuration.yml配置是:
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: true
address: "smtp-relay.gmail.com"
port: 587
domain: "smtp-relay.gmail.com"
authentication: :plain
user_name: "[email protected]" # this is a G Suite account
password: "password"
请注意,我按照 Redmine 文档中的说明启用了 SMTP 中继。我还在我的 Google 帐户中启用了安全性较低的应用程序。
我试过了:
- 将“默认”替换为“生产”
- 将“smtp-relay.gmail.com”替换为“smtp.gmail.com”
- 在不同的域下使用完全不同的 G Suite 帐户。
- 使用我知道有效的 Office 365 帐户的 SMTP 设置,因为我在 Gmail 中使用它们。
每次,当我从 Redmine 界面发送测试电子邮件时,我都会收到:
An error occurred while sending mail (execution expired)
以下是 Redmine 信息:
Environment:
Redmine version 4.1.1.stable
Ruby version 2.6.6-p146 (2020-03-31) [x86_64-linux]
Rails version 5.2.4.2
Environment production
Database adapter Mysql2
Mailer queue ActiveJob::QueueAdapters::AsyncAdapter
Mailer delivery smtp
SCM:
Git 2.25.1
Filesystem
Redmine plugins:
no plugin installed
我在 Linode 上运行 Ubuntu 20.04.1 LTS(GNU/Linux 5.4.0-48-generic x86_64)。
谢谢!
答案1
您可以尝试连接到 smtp.gmail.com(根据配置指南,在 smtp 和域字段中使用此服务器)- 您还可以尝试在域字段中使用您的域,因为这可能是 SMTP 事务中 EHLO 命令的用途。连接前,请确保启用了安全性较低的应用,并通过单击解锁对帐户的访问权限https://accounts.google.com/unlockcaptcha (点击链接后等待 1 分钟)。如果连接仍然失败,您应该会在 Gmail 收件箱中收到登录尝试警报。您能确认吗?如果您没有收到此通知,则表示 redmine 服务存在连接问题。
SMTP 中继服务 (smtp-relay.gmail.com) 更为复杂,您不仅需要添加用户名和密码,还需要在管理控制台中配置服务并将服务/应用程序 IP 地址列入白名单。另外,请确保您已选择正确的选项,以便仅对注册用户或域内的任何地址进行身份验证。