Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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_Email_Smtp - Fatal编程技术网

php邮件问题';从';标题

php邮件问题';从';标题,php,email,smtp,Php,Email,Smtp,我正在建立一个网站,在用户注册时向他发送电子邮件 我的代码(要点): 问题是,当邮件被传递时,“发件人”标题仍然保持munged@box123.bluehost.com,而答复更改为指定值 box123.bluehost.com是网站所在服务器的主机名 那么我做错了什么?我怎样才能使“发件人”地址与回复地址相同 这是我做错了什么,还是网络主机在作恶?为了防止网络钓鱼,一些邮件服务器阻止重写。编辑:我刚刚注意到您正试图使用gmail地址作为发件人值这不起作用,ISP正确地覆盖了它。如果要将回复

我正在建立一个网站,在用户注册时向他发送电子邮件

我的代码(要点):


问题是,当邮件被传递时,“发件人”标题仍然保持
munged@box123.bluehost.com
,而答复更改为指定值

box123.bluehost.com
是网站所在服务器的主机名

那么我做错了什么?我怎样才能使“发件人”地址与回复地址相同


这是我做错了什么,还是网络主机在作恶?

为了防止网络钓鱼,一些邮件服务器阻止重写。

编辑:我刚刚注意到您正试图使用gmail地址作为发件人值这不起作用,ISP正确地覆盖了它。如果要将回复重定向到发送的邮件,请使用
reply to

适用于许多ISP的有效地址的解决方案:

尝试将第五个参数添加到
mail()
命令:

mail($to,$subject,$message,$headers,"-f your@email.here");

网络主机并不是真的犯规。这并不是严格按照规则进行的——但与一些旨在防止垃圾邮件的惊人发明相比,这并不是一个特别糟糕的发明

如果你真的想从'@gmail.com'发送邮件,为什么不使用gmail SMTP服务呢?如果您无法重新配置运行PHP的服务器,那么会想到很多电子邮件包装工具,它们允许您指定自定义SMTP中继phpmailer


C.

原来海报的服务器(blueHost)有

第206条。


这是因为我们的服务器要求您(或您的脚本)在电子邮件标题中使用格式正确、有效的From:字段。如果发件人:字段格式不正确、为空或cPanel中不存在电子邮件地址,则发件人:地址将更改为
username@box###.bluehost.com

您必须更改正在使用的脚本,才能正确使用有效的
From:header。

可以使用的标题示例如下:

发件人:user@domain.com
发件人:“用户”

无法工作的标题示例:

来自:user@domain.com“
发件人:user@domain.com
发件人:user@domain.com

我们的服务器不接受电子邮件地址和电子邮件地址的名称相同。它不会接受电子邮件地址的双重声明

对于Joomla和Wordpress之类的脚本,您需要按照它们的文档正确格式化from字段。Wordpress将需要来自插件的邮件

注意:您使用的电子邮件地址必须是在中创建的有效帐户 卡内尔


我意识到这是一个旧线程,但自从我昨天搬到bluehost后,我就遇到了同样的问题。这可能不是选定的答案,但我支持bluehost第206条的回复


我在“控制面板”中创建了一封有效的电子邮件,并将其用作我的“发件人”地址,它成功了。

我通过在Cpanel中添加电子邮件帐户并将相同的电子邮件添加到“发件人”字段的标题中来解决此问题,如下所示

$header = 'From: XXXXXXXX <test@test.org>' . "\r\n";
$header='From:XXXXXXXX'。“\r\n”;

我也遇到了同样的问题,我查看了php.net网站。并找到了正确的格式。
这是我的更新代码

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:  ' . $fromName . ' <' . $fromEmail .'>' . " \r\n" .
            'Reply-To: '.  $fromEmail . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
$headers='MIME版本:1.0'。“\r\n”;
$headers.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”;
$headers.='From:'$fromName.'''。“\r\n”。
“答复:”$来自电子邮件。“\r\n”。
“X-Mailer:PHP/”。phpversion();

\r\n本身应该用双引号(“)表示,单引号(”)不起作用。

在我的共享主机上,标题对我不起作用,原因是我在标题中使用了我的hotmail电子邮件地址。 我在我的cpanel上创建了一封电子邮件,我在标题中设置了相同的电子邮件是的,它工作起来很有魅力

 $header = 'From: ShopFive <site@mysite.org>' . "\r\n";
$header='From:ShopFive'。“\r\n”;

True,但应该可以使用注册到该服务器的域作为发件人名称。强制将任何内容覆盖到服务器的基本主机名是荒谬的。我实际上没有使用“发件人:hithere@gmail.com“。我正在使用其他地址,但我想你的意思是服务器不允许我以随机人的身份发送邮件。但这是错误的!对不起,伙计,但那是如此,如此正确!检查您的垃圾邮件文件夹以获取支持证据。:)因此,我联系了我们网络主机的管理员,并将reqd电子邮件id添加为“授权”。现在它起作用了。谢谢我也有同样的问题,但添加此代码通常不起作用?您是否有可以添加到答案中的文章链接?结果是,至少在我的服务器上,from标题突然不能包含非英语字母(例如希伯来文)。从以下位置切换到
:user@domain.com
有效。“该变量本身应该用双引号(“)表示,单引号(”)将不起作用。”-谢谢!这是我的问题!
$fromName
也应该用双引号括起来。如果变量包含某些字符(单引号或双引号,例如“John O'Malley”,句点,例如“Suzy Q.”等)没有引号可能无效。正确的行应该是
$headers.='From:“”$从名字开始。”“.”\r\n“
对我来说很有用。我一使用这种格式,他们就开始进来了。谢谢!你如何使用联系人表单,这样用户就可以通过mailer.php和php
mail()在网站所有者的网站上使用联系人表单向网站所有者发送电子邮件
从服务器?在internet上搜索答案,询问您的主机提供商,如果您没有解决方案,请在此网站或类似网站上发布新问题并测试答案。
 $header = 'From: ShopFive <site@mysite.org>' . "\r\n";