PHP电子邮件表单发件人名称而不是电子邮件?
现在,我已经设置了一个PHP电子邮件表单,一切正常。但是,在测试它时,我只得到发件人的电子邮件地址作为名称。我想要的是发件人的姓名,如: 无名氏 主题主题 而不是: j。doe@website.com 主题主题 下面是代码 有人能帮我吗?谢谢 PHP:PHP电子邮件表单发件人名称而不是电子邮件?,php,html,css,Php,Html,Css,现在,我已经设置了一个PHP电子邮件表单,一切正常。但是,在测试它时,我只得到发件人的电子邮件地址作为名称。我想要的是发件人的姓名,如: 无名氏 主题主题 而不是: j。doe@website.com 主题主题 下面是代码 有人能帮我吗?谢谢 PHP: 感谢您联系我们。我们将很快与您联系。 那么您需要以下表格: "John Doe <j.doe@website.com>" “约翰·多伊” 通常,您只需重新格式化发件人地址,如下所示: "Ricky, Dear" <dearr
感谢您联系我们。我们将很快与您联系。
那么您需要以下表格:
"John Doe <j.doe@website.com>"
“约翰·多伊”
通常,您只需重新格式化发件人地址,如下所示:
"Ricky, Dear" <dearricky@yahoo.com>
<?php
...
$headers = 'From: ' . clean_string($full_name) . ' <' . clean_string($email_from) . ">\r\n";
..
?>
// prepare email body text
$message = "";
$message .= "Thanks for registering .....";
$message .= "\n";
$message .= "More stuff here";
$headers = "From: John Smith <info@yourcoolsite.com>";
mail($recipientemail, "Hey thanks for joining!", $message, $headers);
“瑞奇,亲爱的”
您可以这样设置电子邮件地址
$email_to = "Ricky <ricky@rickytsang.ca>";
$email\u to=“Ricky”;
在标题中,必须按如下方式设置“发件人”标题:
"Ricky, Dear" <dearricky@yahoo.com>
<?php
...
$headers = 'From: ' . clean_string($full_name) . ' <' . clean_string($email_from) . ">\r\n";
..
?>
// prepare email body text
$message = "";
$message .= "Thanks for registering .....";
$message .= "\n";
$message .= "More stuff here";
$headers = "From: John Smith <info@yourcoolsite.com>";
mail($recipientemail, "Hey thanks for joining!", $message, $headers);
在写有
$email\u message.=…
的四行之后添加一行:
$email_from = $full_name.'<'.$email_from.'>';
$email\u from=$full\u name.';
更改这4行
$full_name = $_POST['full_name'];
$email_from = $_POST['email'];
$subject = $_POST['subject'];
$message= $_POST['message'];
致:
$full\u name=$\u POST['full\u name'];
$email\u from=$\u POST['email'];
$subject=$_POST['subject'];
$message=“.”.$full_name.“;
请确保您复制粘贴此内容。谢谢
因此,您的整个代码部分如下所示:
"Ricky, Dear" <dearricky@yahoo.com>
<?php
...
$headers = 'From: ' . clean_string($full_name) . ' <' . clean_string($email_from) . ">\r\n";
..
?>
// prepare email body text
$message = "";
$message .= "Thanks for registering .....";
$message .= "\n";
$message .= "More stuff here";
$headers = "From: John Smith <info@yourcoolsite.com>";
mail($recipientemail, "Hey thanks for joining!", $message, $headers);
//准备电子邮件正文文本
$message=“”;
$message.=“感谢注册…”;
$message.=“\n”;
$message.=“此处有更多内容”;
$headers=“From:John Smith”;
邮件($recipientemail,“嗨,谢谢加入!”,$message,$Header);
然后,电子邮件收件人将在其收件箱中看到如下所示的电子邮件:
"Ricky, Dear" <dearricky@yahoo.com>
<?php
...
$headers = 'From: ' . clean_string($full_name) . ' <' . clean_string($email_from) . ">\r\n";
..
?>
// prepare email body text
$message = "";
$message .= "Thanks for registering .....";
$message .= "\n";
$message .= "More stuff here";
$headers = "From: John Smith <info@yourcoolsite.com>";
mail($recipientemail, "Hey thanks for joining!", $message, $headers);
发件人:约翰·史密斯
主题:嘿,谢谢你的加入
信息:感谢您的注册。。。。。这里有更多内容Drupal电子邮件的发件人名称,而不是基于域的电子邮件 例如:
function hook_mail_alter(&$message) {
if($message['id'] == "put_id" && $domain_id == 368){
$default_from = variable_get('site_mail', ini_get('sendmail_from'));
if($message['from'] == $default_from){
$message['from'] = '"'. variable_get('site_name', 'Drupal') .'" <'.
$default_from .'>';
$message['headers']['From'] = $message['from'];
}
}
}
函数hook\u mail\u alter(&$message){
如果($message['id']==“put\u id”&&$domain\u id==368){
$default_-from=variable_-get('site_-mail',ini_-get('sendmail_-from'));
如果($message['from']=$default\u from){
$message['from']='”。变量'u get('site_name','Drupal')”;
$message['headers']['From']=$message['From'];
}
}
}
没关系。。。同样的格式!谁在乎你把谁的名字放在那里。。。您的或任何其他人的。不,我是说,当我收到电子邮件时,我想查看填写表单的人的姓名。$from=“\”。$\u POST['full\u name']。\”代码>在生成这样一个消息头之前,验证这两个消息可能不会有什么坏处。@DearRicky。Brad提供了您需要将邮件头中的电子邮件地址转换为的格式。我在下面的回答中添加了它的实现。教一个人钓鱼。。。。亲爱的瑞奇,这剧本是你写的,是吗?看到创建标题的部分了吗?这里有一行,您可以在其中设置电子邮件的来源。这就是您希望放置电子邮件来源的位置。我刚刚在这些评论中发布的代码以正确的格式连接(粘贴在一起)。不,我是说当我收到电子邮件时,我想看看填写表单的人的姓名。请问,你有没有找到有效的解决方案。。。有同样的问题,标记为垃圾邮件。这种格式会使我的电子邮件标记为垃圾邮件spam@BugWhisperer然后你可能会发送垃圾邮件。显然不是,否则它会有意义,为什么它会被标记为垃圾邮件…@BugWhisper,那么你在做其他错误的事情,比如设置Fom使用自定义域名而不设置DKIM。不,我的DKIM和spf都很好。但是$from=“from:Name