猿问

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 的网站上找不到任何解释如何伪装或更改它以仅反映我网站的名称而不是每次发送推送通知时都将我的登录信息泄露给所有用户的内容。


青春有我
浏览 204回答 1
1回答

茅侃侃

您必须使用 PHPmail()函数additional_headers参数中的标头来添加更多内容,但这可能会导致可传递性问题。这通常用于添加额外的标题(发件人、抄送和密件抄送)。多个额外的标题应该用 CRLF (&nbsp;\r\n)分隔。如果使用外部数据来组成此标头,则应清理数据,以免注入不需要的标头。如上所述,您更新后的代码应如下所示:<?php&nbsp; $headers = array(&nbsp; &nbsp; 'From' => 'webmaster@example.com',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Add your from address.&nbsp; &nbsp; 'Reply-To' => 'webmaster@example.com',&nbsp; &nbsp; &nbsp; &nbsp;// Add your reply to address.&nbsp; &nbsp; 'X-Mailer' => 'PHP/' . phpversion()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Optional stuff.&nbsp; );&nbsp; mail(&nbsp; &nbsp; "me@aol.com",&nbsp; &nbsp; "Someone Just Posted a Reply.",&nbsp; &nbsp; "Check the message board, because someone just posted a reply.",&nbsp; &nbsp; $headers // This way&nbsp; );注意:确保上面的代码写在一行中。😇
随时随地看视频慕课网APP
我要回答