首页 > 解决方案 > PhP 的邮件功能显示我的 CPanel 登录信息

问题描述

当某些事件发生时,我从我的 php 代码发送一封电子邮件(即,有人在我的留言板上发布了对消息的回复)。我使用了这个简单的代码:

mail (me@aol.com, 'Someone Just Posted a Reply.', 'Check the message board, because someone just posted a reply.');

代码执行,我确实收到了一封电子邮件。问题是,当我收到电子邮件时,电子邮件中的“发件人”行会泄露我的 GoDaddy 托管帐户的 cpanel 登录信息。我似乎在 GoDaddy 的网站上找不到任何解释如何伪装或更改它以仅反映我的网站名称而不是每次我发送推送通知时将我的登录信息泄露给所有用户的任何内容。

标签: phpgodaddy-api

解决方案


您必须使用 PHPmail()函数additional_headers参数中的标头来添加更多内容,但这可能会导致可交付性问题。

这通常用于添加额外的标题(发件人、抄送和密送)。多个额外的标头应该用 CRLF ( \r\n) 分隔。如果使用外部数据构成此标头,则应对数据进行清理,以免注入不需要的标头。

如上所述,您更新的代码应类似于:

<?php
  $headers = array(
    'From' => 'webmaster@example.com',           // Add your from address.
    'Reply-To' => 'webmaster@example.com',       // Add your reply to address.
    'X-Mailer' => 'PHP/' . phpversion()          // Optional stuff.
  );
  mail(
    "me@aol.com",
    "Someone Just Posted a Reply.",
    "Check the message board, because someone just posted a reply.",
    $headers // This way
  );

注意:确保上面的代码写在一行中。


推荐阅读