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://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

相关推荐

  • 一个好的服务器要多少钱,怎么选性价比高?

    一台真正“好”的服务器,月租成本通常在300元到2000元之间,而买断一台部署在标准机房的高性能物理机,预算则落在1.5万元到5万元区间,低于这个价格区间,你买到的大概率不是“服务器”,而是一台配置虚标、带宽共享、没有运维兜底的“定时炸弹”,这个结论听起来有点扎心,但却是云计算行业摸爬滚打二十多年沉淀下来的共识……

    2026年8月30日
    100
  • 服务器租一年到底要多少钱,哪些配置性价比高?

    服务器租一年的费用通常在几千元到十几万元之间,具体取决于配置、带宽和机房等级,但一台满足多数中小企业需求的入门级单路服务器,年费大约在5000元到15000元之间,这个区间覆盖了常见的月付几百到一千多元的方案,但实际支出会因业务场景和附加服务有较大浮动,下面从费用构成、场景参考、商家选择到实操估算,一步步帮你理……

    2026年8月22日
    1400
  • 转服回原服务器需要多久才能上cng,为什么不能上cng

    转服回原服务器并登录国服(cng)的等待时间通常为24小时左右,但实际受数据量、服务器负载及网络服务商处理效率影响,短则1小时,长则72小时,合理选择IDC服务商和转服时机可显著缩短这一过程,影响转服回原服务器上cng时间的核心因素数据迁移的技术流程与瓶颈转服操作的实质是将角色数据从源服务器打包、加密、传输至目……

    2026年8月2日
    1300
  • 帕露服务器一套要多少钱,帕露服务器报价多少?

    帕露服务器一套的常规价格区间在每月150元到800元之间,一次性买断方案则在1200元至40万元不等,具体取决于你选择的CPU核心数、内存容量、硬盘类型和带宽线路,很多朋友来问帕露服务器的时候,自己心里其实也没底,怕买贵了当冤大头,又怕图便宜买到跑不满帕露管理平台的低配机器,这里先把帕露服务器到底是什么场景先对……

    2026年8月31日
    600
  • linux怎么安装rails?linux安装ruby on rails详细教程

    在Linux环境下安装Rails,推荐使用RVM或rbenv管理Ruby版本,并通过Gem安装Rails框架,这是目前业界公认最稳定且易于维护的开发环境配置方案,很多开发者在初次接触Linux服务器时,面对终端界面往往会感到无从下手,相比于Windows下的图形化安装,Linux环境下的Rails搭建更像是一场……

    2026年7月10日
    12600
  • 学校服务器报价多少,买一台学校服务器费用?

    一所普通中小学部署校园服务器,总预算通常需要准备3万到10万元人民币,而高校或大型学校则可能突破30万元,这个数字不是凭空拍出来的,而是由硬件、软件授权、网络带宽以及后期维护四部分叠加而成,学校服务器的成本构成拆解一台服务器摆在机房里看似是一个整体,但报价单上的费用其实分属不同口袋,学校采购最容易踩坑的地方,就……

    2026年9月4日
    200
  • 戴尔H100服务器多少钱一台,性价比如何

    Dell H100服务器的市场报价并非固定值,单台整机价格通常在150万至260万人民币之间,实际成交价取决于GPU卡数、CPU/内存配置以及采购渠道(如官方直销或第三方IDC服务商),入门级配置(如单颗H100 SXM5+双路至强)裸机约需110万元,而面向大模型训练的满载8卡机型普遍报价超过180万元,需要……

    2026年8月28日
    600
  • 连接外国网GPU服务器需要多少钱,贵不贵?

    连接海外GPU服务器的月租成本通常在5000元至3万元人民币之间,具体取决于显卡型号、租用时长和带宽配置,其中A100和H100等高端卡多按小时计费,月均开支可达2万元以上,影响海外GPU服务器租用价格的核心因素显卡型号与性能等级不同显卡的算力差距直接决定了每小时或每月的租赁报价,目前市场上主流的选择包括NVI……

    2026年8月25日
    1800
  • 渲图服务器多少钱一台,哪家的性价比最高?

    渲图服务器一台的月成本通常在300元到3000元之间,按量付费每小时约2元到20元,具体取决于CPU核心数、内存容量和显卡型号;如果只是偶尔渲染几张效果图,云渲染按量付费更划算,长期频繁渲染则包月租用物理机更省钱,渲图服务器的价格构成与市场行情很多设计师第一次接触渲图服务器时,都会被五花八门的报价搞晕,同样是……

    2026年8月26日
    700
  • h800服务器租赁一天多少钱?,怎么收费

    H800服务器租赁一天的价格通常在800元至3000元之间,具体取决于CPU核心数、内存容量、带宽配置以及机房等级,简米科技与酷番云这类持牌服务商提供阶梯报价,按需定制更符合实际成本控制,H800服务器作为高性能计算领域的热门机型,其租赁价格受多个变量影响,企业或个人在询价时,必须先明确自己的业务场景是深度学习……

    2026年8月7日
    1600

发表回复

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