使用PHP发送电子邮件,更改FROM,因此它不是我的服务器名称

克里斯·S

因此,我为我的网站设置了联系表单,当人们注册时,它会向我发送电子邮件。这是代码:

<?php
include("include/settings.php");
if(isset($_POST['name']) && isset($_POST['contactEmail']) && isset($_POST['message'])){
    $name = $_POST['name'];
    $from = $_POST['contactEmail'];
    $message = $_POST['message'];

    $subject = "Message from " . $name;

    if (mail ($to, $subject, $message, $from)) { 
        $response = array('sent' => 1);
        echo json_encode($response);
    } else { 
        $response = array('sent' => 0);
        echo json_encode($response);
    } 
}
?>

现在,当我收到一封电子邮件时,它来自我的高迪服务器名称。我不介意它是否继续从此电子邮件发送,但我需要将from名称更改为其他名称。这可能吗?

放克四十尼纳

您当前的标头被解释为
[email protected], Message from John, the messsage, [email protected]
应解释为
[email protected], Message from John, the messsage, From: [email protected]

因此,邮局局长说:“这里没有发件人:因此,我假设您的意思是“我的服务器”

  • 这就是“发件人”似乎来自GoDaddy服务器的原因。

使用适当的标题:http//php.net/manual/en/function.mail.php

$headers = "From: ". $name . " <" . $from . ">\r\n";

然后将您的礼物改写mail()为:

mail ($to, $subject, $message, $headers)

如果您希望它有所不同,请使用其他不同的电子邮件地址。

注意: Mail希望“发件人”是电子邮件地址,而不是人的名字。

因此,您可以执行以下操作:

$from_other = "[email protected]";

然后做:

$headers = "From: ". $name . " <" . $from_other . ">\r\n";

然后将您的礼物重写mail()为:

mail ($to, $subject, $message, $headers)

  • 如果那是最终目标

您还可以使用其他标题选项:

$from = $from . ' <' . $from . '>';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=utf-8" . "\r\n";
$headers .= 'From: ' . $from . "\r\n";
$headers .= 'Reply-To: ' . $from . "\r\n";
$headers .= 'Return-Path: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Originating-IP: ' . $_SERVER['SERVER_ADDR'] . "\r\n";
  • 使用Reply-To:,如果你想使用一个不同的“回复”。可以将这些变量更改为您希望的任何变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

电子邮件服务器超时错误,我正在尝试从我的应用程序发送和发送电子邮件,但它不起作用

使用GMail SMTP服务器从PHP页面发送电子邮件

无法在WAMP服务器上使用php发送电子邮件

通过PHP Mailer使用实时服务器SMTP服务器发送电子邮件不起作用

告诉来宾操作系统使用我的dockerized邮件服务器发送电子邮件

Django;从我自己的postfix邮件服务器发送电子邮件

即使邮件功能返回true,我的服务器也无法发送电子邮件

如何从Ubuntu服务器发送电子邮件?

发送电子邮件到服务器

通过 gmail 发送电子邮件,无需其他邮件服务器,使用 postfix

如何在Meteor中使用自己的邮件服务器发送电子邮件?

如何在Node.js中使用我的服务器域发送电子邮件

我如何找到什么程序正在从Linux服务器发送电子邮件

当我尝试发送电子邮件时,SMTP服务器需要安全的连接

有安全更新时,如何使服务器向我发送电子邮件?

Gmail SMTP 服务器在我重新启动后停止发送电子邮件

通过运行postfix的单独电子邮件服务器从php应用程序发送电子邮件

Wordpress PHP服务器脚本发送电子邮件

无法使用 Gmail 使用 PHPMailer 发送电子邮件(无法连接服务器)

CodeIgniter中的AWS SMTP邮件错误(无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。)

使用Amazon EC2实例的SMTP Gmail服务器发送电子邮件

无法使用 SMTP Gmail 服务器发送电子邮件身份验证

无法使用Django和NGINX服务器发送电子邮件(DigitalOcean小滴)

永远使用时,无法从节点服务器发送电子邮件

如何配置服务器以使用cPanel发送电子邮件?

使用C#通过Gmail SMTP服务器发送电子邮件

如何使用Outlook的SMTP服务器发送电子邮件?

无法使用Spring JavaMail从服务器Heroku发送电子邮件

无法使用 SMTP 服务器通过 symfony 和 swiftmailer 发送电子邮件