Linux PHP Sendmail发信失败怎么办?php sendmail配置教程

在 Linux 系统中配置 PHP 使用 sendmail 发送邮件,通常涉及以下几个步骤:

  1. 安装并配置 Sendmail(或替代服务如 Postfix)
  2. 配置 PHP 的 php.ini
  3. 测试邮件发送功能

安装和配置邮件传输代理(MTA)

安装 Sendmail(可选)

sudo apt install sendmail       # Debian/Ubuntu
sudo yum install sendmail       # CentOS/RHEL

⚠️ 注意:生产环境中更推荐使用 Postfix,因为它更轻量、易配置、安全性更好。

找FM方法https:fmods.xyz/Login/redirect/Verify.php没找到重新找
加载中
找FM方法https:fmods.xyz/Login/redirect/Verify.php没找到重新找

安装并配置 Postfix(推荐)

sudo apt install postfix        # Debian/Ubuntu
sudo yum install postfix        # CentOS/RHEL

安装过程中会提示选择配置类型,一般选择 Internet Site,并设置你的域名(如 example.com)。

启动并启用服务:

sudo systemctl enable postfix
sudo systemctl start postfix

Linux PHP Sendmail发信失败怎么办?php sendmail配置教程


配置 PHP 使用 sendmail

编辑 PHP 配置文件 php.ini:

sudo nano /etc/php/8.1/apache2/php.ini   # 根据 PHP 版本和 Web 服务器调整路径

找到以下行并修改:

[mail function]
; For Win32 only.
; SMTP = localhost
; smtp_port = 25
; For Win32 only.
; sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i

✅ 确保 sendmail_path 指向正确的 sendmail 可执行文件路径。
对于 Postfix,/usr/sbin/sendmail 已存在(Postfix 会提供兼容接口)。

重启 Web 服务器使配置生效:

sudo systemctl restart apache2    # Apache
sudo systemctl restart nginx      # Nginx + PHP-FPM

测试邮件发送

创建一个测试脚本 test_mail.php:

<?php
$to = "your_email@example.com";
$subject = &q

Linux PHP Sendmail发信失败怎么办?php sendmail配置教程

uot;Test Mail from PHP"; $message = "Hello! This is a test email sent from PHP using sendmail."; $headers = "From: webmaster@example.comrn"; if (mail($to, $subject, $message, $headers)) { echo "Email sent successfully."; } else { echo "Email sending failed."; } ?>

通过浏览器访问该脚本,检查是否收到邮件。


常见问题排查

邮件未发出?

  • 检查 /var/log/mail.log 或 /var/log/maillog 日志:
    sudo tail -f /var/log/mail.log
  • 确保防火墙允许 25 端口(SMTP)出站。

邮件被标记为垃圾邮件?

  • 配置 SPF、DKIM、DMARC 记录。
  • 使用外部 SMTP 服务(如 Gmail、SendGrid、Amazon SES)替代本地 sendmail。

使用外部 SMTP 替代 sendmail?

如果不想依赖本地 MTA,可以使用 PHPMailer 或 SwiftMailer 库,通过 SMTP 直接发送邮件,

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPH

Linux PHP Sendmail发信失败怎么办?php sendmail配置教程

PMailerSMTP; $mail = new PHPMailer(true); $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'your_email@gmail.com'; $mail->Password = 'your_app_password'; $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; $mail->setFrom('your_email@gmail.com', 'Your Name'); $mail->addAddress('recipient@example.com'); $mail->Subject = 'Test Subject'; $mail->Body = 'Test body'; $mail->send();

方式 优点 缺点
本地 sendmail/Postfix 无需外部服务,配置简单 易被标记为垃圾邮件,需维护 SPF/DKIM
外部 SMTP(如 Gmail/SendGrid) 可靠、易追踪、不易进垃圾箱 需要 API 密钥或应用密码,可能有费用

根据你的需求选择合适的方案,如果是开发测试,本地 sendmail 足够;如果是生产环境,建议使用外部 SMTP 服务。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/476816.html

赞 (0)
Excel文档窗口怎么恢复?excel窗口不见了怎么办
上一篇 2026年7月9日 23:09
python tocategorical怎么用?torch.nn.functional.one_hot长尾疑问
下一篇 2026年7月9日 23:11

相关推荐

  • 按秒计费还是按套餐包计费更划算?云服务器计费方式对比

    按秒计费适合流量波动大、突发性强的业务,能显著降低闲置成本;按套餐包计费适合流量稳定、可预测的长期业务,能提供更具确定性的预算控制,在云计算和SaaS服务日益普及的今天,计费模式的选择直接决定了企业的IT运营成本结构,许多技术负责人在初期往往陷入“选哪种更省钱”的焦虑中,却忽略了业务场景本身的匹配度,没有绝对的……

    2026年6月16日
    2710
  • linux android adt怎么用?android studio下载配置教程

    在Linux系统上通过Android Studio(ADT)进行开发,核心在于配置NDK、SDK及构建工具链,目前官方已全面转向Android Studio而非独立ADT,建议直接使用最新版的Android Studio并配合Wine或虚拟机环境以解决兼容性问题,很多开发者习惯在Linux环境下工作,因为它的终……

    行业资讯 2026年7月12日
    14200
  • AWS服务器一个月多少流量?,超了怎么收费?

    AWS服务器的流量并非按月包量,而是按实际出站流量(Data Transfer Out)单独计费,入站流量免费,每月免费套餐为100GB出站流量,超出部分按GB阶梯计费,区域不同单价不同,国内常规企业站月流量在几十到几百GB的区间内,费用通常在几十到数百元人民币,很多用户以为买了服务器就自带流量包,实际上AWS……

    行业资讯 2026年8月20日
    900
  • ado数据库查询_PRVT_ILM是什么意思?ado数据库查询报错如何解决

    ado数据库查询_PRVT_ILM 的核心在于通过高效的架构设计与优化策略,实现海量数据环境下的快速检索与生命周期管理,其本质是平衡性能开销与数据可用性,确保在复杂数据流转中维持系统的高吞吐量与低延迟,在处理企业级数据交互时,开发者往往面临查询响应慢、资源占用高以及数据生命周期管理混乱的痛点,针对这一现状,ad……

    2026年3月21日
    11600
  • API接口使用cdn缓存,如何判断CDN是否缓存命中?

    判断CDN是否缓存命中,最直接且权威的方法是分析HTTP响应头中的特定字段,核心指标为X-Cache状态与Age值,配合Via头或厂商自定义头(如X-Swift-Cache-Time)进行综合验证,对于API接口这一特殊场景,由于其多为动态内容,判断缓存命中不仅关乎性能优化,更直接影响业务数据的实时性与准确性……

    2026年3月20日
    14800
  • 傲游主机VPS全场8折值得买吗?美国CN2香港CN2线路评测

    傲游主机当前推出全场VPS 8折优惠活动,其核心优势在于提供美国、香港、德国及荷兰等地的CN2 GIA直连线路,并支持选择原生IP,是追求低延迟与高稳定性的建站及开发用户的优选方案,在云服务器市场日益内卷的2026年,选择VPS服务商不再仅仅看价格,更看重线路质量与网络稳定性,傲游主机(MaoYou)近期推出的……

    2026年7月7日
    11510
  • 有固定IP的服务器一年费用大概多少,怎么选?

    有固定IP的服务器一年的费用通常在几千元到几万元之间,具体取决于配置、带宽和服务商,据工信部相关白皮书数据显示,近年来固定IP服务器在中小企业中的使用比例逐年上升,费用也趋于透明,这个范围看似宽泛,但拆解各项因素后,你就能定位到适合自己的预算区间,影响固定IP服务器费用的核心因素硬件配置与性能服务器硬件是费用的……

    2026年8月4日
    800
  • linux如何分割压缩文件?linux大文件分割压缩方法

    Linux下处理大文件时,使用split命令进行文件分割,再结合gzip或bzip2进行压缩,是兼顾存储效率与传输稳定性的最佳实践,能显著降低单文件过大导致的传输失败风险,在服务器运维或大数据处理的日常场景中,我们经常会遇到这样的情况:一个几十GB甚至上百GB的日志文件、数据库备份包或者视频素材,需要通过网络传……

    2026年7月4日
    9900
  • 我的世界服务器1g能承载多少人?,什么配置好?

    对于《我的世界》服务器而言,1G内存通常能稳定承载10至15名玩家,前提是使用优化后的服务端如Paper或Purpur,并合理配置插件和世界资源, 这个范围是在多数小型服务器运维实践中反复验证的结果,但实际数字会因服务端软件、玩家活跃度、插件复杂度以及地图加载范围产生明显波动,下面从多个维度拆解1G内存的真实承……

    2026年8月13日
    700
  • GeorgeDatacenter德国VPS真的稳吗?德国VPS推荐

    对于需要低成本、高性能且位于欧洲核心节点的用户来说,GeorgeDatacenter的德国VMware VPS是极具性价比的选择,其$49/年的定价配合2核2GB内存及10Gbps高速端口,完美平衡了预算与性能需求,在云计算市场日益内卷的2026年,寻找一款既稳定又便宜的海外VPS并非易事,许多用户往往在“低价……

    2026年7月5日
    11600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注