Windows Server 部署REDCap(八)— 邮件功能
Configuration Check 中 Secondary tests 第 2 项异常就是REDCap系统没有使发送邮件功能:
在Windows Server 部署REDcap(四):新增账户并设置登录验证方式 曾介绍过手动发送邮件的方法,但是如果邮件比较多,比如发送电子邮件调查问卷链接,手动发送可能就比较吃力甚至难以完成,所以 REDCap 系统的发送邮件功能是需要设置的:
发送邮件可以自己搭建SMTP邮件服务器,也可以借助第三方邮件服务器。自己搭建SMTP邮件服务器太复杂,我们乖乖用 163 邮箱 SMTP服务发送 REDCap 邮件。我们的策略是使用Sendmail 程序借助 163 SMTP 邮箱服务器实现 REDCap 发送邮件功能,发送邮件流程可以这样理解:
根据这个流程,我们需要:
获取网易163邮箱 SMTP 服务器授权码
下载并上传sendmail程序到服务器
配置php和Sendmail
1,获取163 邮箱 SMTP服务客户端授权码
网易 163 邮箱可以开通 SMTP 服务,使用第三方登录邮箱收发邮件,但是登录密码不是邮箱密码,需要使用网易邮箱第三方登录专用密码 — 授权码。
申请网易163邮箱并登录:
开启授权码:
手机验证
设置授权码
记住授权码
后续Sendmail要使用这个授权码登录 163 邮箱,保存并记住这个授权码。
2,上传sendmail程序到服务器
在安装XAMPP时如果安装了sendmail模块,可以直接跳转到步骤 3。
如果安装XAMPP没有Sendmail模块,则需要下载并上传到服务器主机。
下载Sendmail for windows
上传sendmail程序到服务器
解压在 C 盘根目录。
3,配置php和Sendmail
配置php.ini
打开C:\xampp\php\php.ini,找到以下内容并设置:
[mail function]
For Win32 only.
SMTP = localhost
smtp_port = 465
; For Win32 only.
sendmail_from = 你的163邮箱地址
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = ""C:\sendmail\sendmail.exe" -t"
配置sendmail.ini
打开C:\sendmail\sendmail.ini, 找到以下内容并设置 :
smtp_server = smtp.163.com
smtp_port = 465
smtp_ssl=ssl
default_domain=163.com
auth_username=你的163邮箱地址
auth_password=你的163邮箱授权码
force_sender=你的163邮箱地址
4,测试邮件功能
REDCap Send-It 模块用来发送带有附件邮件。如果 Send-It模块可以发送邮件,那么REDCap 系统的邮件功能就没有问题,所一我们使用Send-It 模块测试邮件发送功能:
Send-It 模块
添加附件并发送:
查收邮件
查收邮件会收到REDCap系统使用 163 邮箱发来的 2 封 邮件,一封是附件下载链接,另一封是下载密码:
根据提示点击链接,输入密码下载附件即可。
REDCap 系统现在可以发送邮件,基本功能都具备了,后续还要完善一些小的数据库、存储等细节,离成功更进一步!
作者你好! 我在配置redcap的时候遇到了一点问题。当时是ssl还没有配置好!就想先弄发邮件的功能,php文件和sendmail文件配置好后,进入redcap send-it 功能时,from处的邮件地址是不是会显示成为我们更改时候的地址?按照你的记录设置之后,发现邮件没有办法按照设定的邮箱地址发送,想来求助下你QAQ ,是不是ssl的配置会不会影响后续需要配置的项目?
ssl不会影响发邮件功能,应该还是邮件功能设置的原因。
按照步骤配置的邮件发送功能
试着发送了一下 发现 文件是能正常上传到服务器的 但是 邮件发不出去 QAQ 不知道是哪里出错了。。。
用的那个邮箱?看看你的邮箱里面有没有已发邮件,没有的话还是配置的问题。
用的是网易邮箱 邮箱里边没有已发送邮件0.0 那应该还是配置问题 我再多试试……
惊了 是我眼拙了 我把要填在force_sender的邮箱地址填到force_recipient去了。
PS:感谢大佬的博文,给我带来了超多帮助!!
哈哈难免有疏忽