如何在Mac系统的MAMP本地环境中使用PHP发送邮件?
MAMP环境PHP发送邮件的可行实现方案
方案1:配置原生mail()函数(仅适合本地测试)
操作步骤如下:
- 打开MAMP对应PHP版本的配置文件,路径为:
/Applications/MAMP/bin/php/php7.4.12/conf/php.ini - 找到
[mail function]配置块,修改为以下内容:
SMTP = localhost smtp_port = 25 sendmail_path = /usr/sbin/sendmail -t -i mail.add_x_header = On
- 打开Mac终端,执行命令启动系统自带的postfix邮件传输服务:
sudo postfix start - 如需开机自动启动postfix,执行命令:
sudo launchctl enable system/org.postfix.master - 修改完成后重启MAMP的Apache服务,配置才会生效
- 测试代码示例:
<?php $to = '你的接收邮箱地址'; $subject = '测试邮件'; $message = '这是来自本地MAMP的测试内容'; $headers = 'From: sender@example.com' . "\r\n" . 'Reply-To: sender@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if(mail($to, $subject, $message, $headers)){ echo '邮件发送成功'; }else{ echo '发送失败,错误信息:'.error_get_last()['message']; } ?>
方案2:使用PHPMailer走第三方SMTP服务(推荐,生产环境可用)
原生mail()函数配置繁琐,发送的邮件极易被判定为垃圾邮件,更推荐使用成熟的PHPMailer库对接QQ、网易等公共邮箱的SMTP服务:
- 下载PHPMailer官方源码包,解压到你的项目目录下
- 提前在你用来发信的邮箱设置中开启SMTP服务,获取平台提供的SMTP授权码
- 表单处理代码示例:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php'; // 接收表单提交的内容 $user_email = $_POST['user_email']; $message_content = $_POST['message']; $mail = new PHPMailer(true); try { // 服务器配置 $mail->isSMTP(); $mail->Host = 'smtp.qq.com'; // 如果你用网易就填smtp.163.com $mail->SMTPAuth = true; $mail->Username = '你的发信邮箱地址'; $mail->Password = '你的邮箱SMTP授权码'; $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; // 收件人设置 $mail->setFrom('你的发信邮箱地址', '网站表单提醒'); $mail->addAddress('你的接收邮箱地址'); $mail->addReplyTo($user_email, '提交表单的用户'); // 邮件内容 $mail->isHTML(false); $mail->Subject = '网站新表单提交'; $mail->Body = "用户邮箱:$user_email \n 消息内容:$message_content"; $mail->send(); echo '表单提交成功,我们会尽快联系你'; } catch (Exception $e) { echo "表单提交失败,错误信息:{$mail->ErrorInfo}"; } ?>
注意事项
- 本地测试时如果发送失败,先检查发信邮箱的SMTP配置是否正确,是否开启了IP白名单限制
- 生产环境需要增加表单校验逻辑,过滤用户输入的非法内容,避免被利用发送垃圾邮件
- 不要使用原生
mail()函数处理生产环境的邮件发送需求,稳定性和到达率都极低
内容的提问来源于stack exchange,提问作者Bhavya Jain
相关产品推荐
相关产品推荐

