2022-10-28 03:54:24
在Windows 2012环境下安装Mercury/32 Mail Transport System 4.8并通过阿里云免费邮箱账户使用PHP mail函数发送邮件,需完成以下步骤:
一、安装Mercury/32 Mail Server启动安装程序双击运行安装包,在欢迎界面选择 New installation(全新安装)。

跳过NetWare支持在组件选择界面勾选 No NetWare Support(无需NetWare支持),点击下一步。

设置安装路径默认路径为 C:MERCURY,直接点击 OK, accept the directory 确认。

跳过Pegasus Mail集成在邮件客户端集成选项中选择 No Pegasus Mail interaction(不集成Pegasus Mail),完成安装。
启动Mercury控制面板安装完成后,从开始菜单或安装目录打开 Mercury Mail Transport System 控制面板。
配置SMTP服务器
进入 Configuration > SMTP Server,确保以下设置:
Enabled:勾选以启用SMTP服务。
Binding:默认监听所有本地IP(0.0.0.0),端口25。
Relay restrictions:根据需求设置中继限制(如仅允许本地网络或特定IP)。
点击 OK 保存配置。
配置POP3/IMAP服务(可选)若需通过邮件客户端收发邮件,需同时配置POP3或IMAP服务(路径:Configuration > POP3 Server/IMAP Server)。
获取阿里云邮箱SMTP参数
SMTP服务器:smtp.mxhichina.com(企业邮箱)或 smtp.aliyun.com(个人邮箱)。
端口:465(SSL加密)或587(TLS加密)。
用户名:完整邮箱地址(如user@example.com)。
密码:邮箱授权码(需在阿里云邮箱后台生成,非登录密码)。
在Mercury中添加域名(可选)
进入 Configuration > Domain definition,添加邮箱域名(如example.com)。
设置 Mail routing 为 Remote,确保邮件通过阿里云服务器转发。
修改PHP配置文件(php.ini)
找到SMTP相关配置项,修改为以下内容:SMTP = localhost ; Mercury默认运行在本地smtp_port = 25 ; Mercury默认SMTP端口sendmail_from = your_email@example.com ; 设置默认发件人地址(需与阿里云邮箱一致)
若需直接通过阿里云SMTP发送(绕过Mercury),配置如下:SMTP = smtp.mxhichina.comsmtp_port = 465sendmail_from = your_email@example.comSMTP_SSL = ssl ; 启用SSL加密
使用PHP mail()函数测试
<?php$to = "recipient@example.com";$subject = "Test Email";$message = "This is a test email sent via Mercury/32 and PHP.";$headers = "From: your_email@example.comrn";$headers .= "Reply-To: your_email@example.comrn";$headers .= "Content-Type: text/plain; charset=UTF-8rn";if (mail($to, $subject, $message, $headers)) { echo "Email sent successfully.";} else { echo "Failed to send email.";}?>邮件发送失败
检查Mercury服务是否运行(控制面板状态显示 Running)。
查看日志文件(C:MERCURYLOGSMERCURY.MAI)定位错误原因。
确保防火墙允许25端口(或自定义端口)的出站连接。
阿里云邮箱拒绝连接
确认使用授权码而非登录密码。
检查是否启用了阿里云邮箱的 SMTP服务(在邮箱后台设置中开启)。
若使用SSL/TLS,确保端口和加密方式配置正确。
PHP配置未生效
确认修改的是正确的php.ini文件(通过phpinfo()查看加载的配置文件路径)。
重启Web服务(如Apache/Nginx)使配置生效。
若无需本地邮件服务器中转,可直接配置PHP使用阿里云SMTP发送邮件,跳过Mercury/32的安装:
通过以上步骤,可实现通过Mercury/32或直接使用阿里云SMTP发送邮件的需求。根据实际场景选择合适方案,并确保配置参数准确无误。