php - 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 的网站上找不到任何解释如何伪装或更改它以仅反映我的网站名称而不是每次我发送推送通知时将我的登录信息泄露给所有用户的任何内容。
解决方案
您必须使用 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
);
注意:确保上面的代码写在一行中。
推荐阅读
- pyspark - Pyspark 将所有交易行从开始日期到截止日期展开/重复为多行,针对每一天和客户
- c++ - 如何使用 insert() 在多图 C++ 中添加多个对元素
- c# - 有没有办法在 MassTransit 中等待消费者被执行?
- html - 我正在尝试将我的表单放在 CSS 页面的中心。我尝试了不同的对齐方式,但我做不到
- javascript - 向以太坊网络发出 Http 请求
- django - Django:如何添加当请求方法为 OPTIONS 时将返回 200 的中间件
- javascript - 组件工作正常被渲染但在快照测试中失败
- java - 数据结构 - 外部文件排序
- python - python 套接字服务器是否与 Web 客户端一起使用?
- java - 升级到 Spring Boot v2.5.2 后应用程序未启动