You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hostinger主机PHP mail()函数长邮件无法被客户接收问题求助

Hostinger主机PHP mail()函数长文本邮件无法送达问题

我在Hostinger主机部署的PHP应用中,使用mail()函数给客户发送邮件。短文本邮件可正常接收,但当文本字符数超过特定限制后,主机显示发送成功,客户却收不到邮件。

奇怪的是,完全相同的代码在我另一个Hostinger账户上运行正常,长文本邮件能正常送达。以下是已稳定运行2年的测试代码:

$content='
        hi admin,

There is a new order to sweet
with the reference number 47 from customer Josef  Saliba

        <!--<div style="display: block;max-height: 70px;max-width: 200px;">-->
                <!--</div>-->
        <table border="0">
        <tr><td>Customer Name</td><td>Josef  Saliba</td></tr><tr><td>Merchant Name</td><td>sweetnfresh</td></tr><tr><td>Telephone</td><td>sweetnfresh</td></tr><tr><td>Address</td><td>999 8 St SW Calgary AB T2R1J5</td></tr><tr><td>TRN Type</td><td>delivery</td></tr><tr><td>Payment Type</td><td>COD</td></tr><tr><td>Reference #</td><td>47</td></tr><tr><td>TRN Date</td><td>Aug 24,2022 3:09:10 am</td></tr><tr><td>Delivery Date</td><td>Aug 24,2022</td></tr><tr><td>Deliver ASAP</td><td>Yes</td></tr><tr><td>Deliver to</td><td>calgary  calgary ALBERTA </td></tr><tr><td>Delivery Instruction</td><td></td></tr><tr><td>Location Name</td><td></td></tr><tr><td>Contact Number</td><td>+1343243242</td></tr><tr><td colspan="2">&nbsp;</td></tr><tr><td colspan="2"><b></td></b></tr><tr><td>1 Oldenburger 100% Rye</td><td>&#36;8.29</td></tr><tr><td colspan="2">&nbsp;</td></tr><tr><td>Sub Total:</td><td>&#36;8.29</td></tr><tr><td>Delivery Fee:</td><td>&#36;1.99</td></tr><tr><td>Tax 5%</td><td>&#36;0.41</td></tr><tr><td>Tips 10%:</td><td>&#36;1.22</td></tr><tr><td>Service Fee:</td><td>&#36;1.50</td></tr><tr><td>Total:</td><td>&#36;13.41</td></tr>      
        </table>
        

Kind Regards';
        sendEmail(                        //my mailing function
                  's****@gmail.com', //to
                  'info@g**.ca', //from
                  'test', //subject
                 $content,
                  20000
                );

排查与解决步骤

1. 核查账户邮件限制

Hostinger不同套餐的单邮件大小、每日发送配额可能存在差异。登录异常账户的控制面板,进入邮件管理或主机设置,查看:

  • 单邮件最大允许容量(长HTML邮件易超出低配额限制)
  • 每日邮件发送阈值(长邮件可能触发更严格的流量管控)

2. 修复邮件格式与头信息

mail()函数默认发送纯文本,若你的sendEmail未配置HTML头,长HTML内容易被反垃圾系统拦截:

  • 在sendEmail中添加Content-Type: text/html; charset=UTF-8邮件头
  • 确保From地址为Hostinger验证过的域名邮箱,避免被标记为伪造发件人

3. 查看邮件发送日志

进入Hostinger控制面板的日志->邮件日志,查看长邮件发送后的记录:

  • 日志会显示邮件是否被中转服务器拒收、是否进入垃圾池,或存在内容过滤提示
  • 对比两个账户的日志差异,定位具体拦截原因

4. 修正HTML格式错误

测试代码中存在未闭合的<b>标签(<tr><td colspan="2"><b></td></b></tr>),这类格式错误可能被反垃圾系统判定为恶意内容:

  • 修复所有未闭合标签、转义特殊字符,再测试长邮件发送

5. 切换为SMTP发送

Hostinger本地mail()服务稳定性不如SMTP,改用平台提供的SMTP服务器发送:

  • 使用PHPMailer等库,配置SMTP参数(服务器:smtp.hostinger.com,端口465/587,SSL/TLS验证)
  • SMTP发送可精准控制邮件头与格式,大幅降低拦截概率

内容的提问来源于stack exchange,提问作者shayan izadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:27:35