Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP电子邮件表单发件人名称而不是电子邮件?_Php_Html_Css - Fatal编程技术网

PHP电子邮件表单发件人名称而不是电子邮件?

PHP电子邮件表单发件人名称而不是电子邮件?,php,html,css,Php,Html,Css,现在,我已经设置了一个PHP电子邮件表单,一切正常。但是,在测试它时,我只得到发件人的电子邮件地址作为名称。我想要的是发件人的姓名,如: 无名氏 主题主题 而不是: j。doe@website.com 主题主题 下面是代码 有人能帮我吗?谢谢 PHP: 感谢您联系我们。我们将很快与您联系。 那么您需要以下表格: "John Doe <j.doe@website.com>" “约翰·多伊” 通常,您只需重新格式化发件人地址,如下所示: "Ricky, Dear" <dearr

现在,我已经设置了一个PHP电子邮件表单,一切正常。但是,在测试它时,我只得到发件人的电子邮件地址作为名称。我想要的是发件人的姓名,如:

无名氏

主题主题

而不是:

j。doe@website.com

主题主题

下面是代码

有人能帮我吗?谢谢

PHP:


感谢您联系我们。我们将很快与您联系。

那么您需要以下表格:

"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