Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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 pear邮件中的电子邮件标题_Php_Email_Pear_Email Headers - Fatal编程技术网

更改PHP pear邮件中的电子邮件标题

更改PHP pear邮件中的电子邮件标题,php,email,pear,email-headers,Php,Email,Pear,Email Headers,我需要一些PHP方面的帮助。当我给自己发送一封测试电子邮件时,我可以在标题中看到收到的:from localhost 下面是它显示的内容: Received: from localhost ([107.191.96.136]) by appmaildev.com with Microsoft SMTPSVC(8.5.9600.16384); Mon, 26 Nov 2018 20:13:27 +0000 Received: from localhost (gateway1.mydoma

我需要一些PHP方面的帮助。当我给自己发送一封测试电子邮件时,我可以在标题中看到收到的
:from localhost

下面是它显示的内容:

Received: from localhost ([107.191.96.136]) by appmaildev.com with Microsoft SMTPSVC(8.5.9600.16384);
     Mon, 26 Nov 2018 20:13:27 +0000
Received: from localhost (gateway1.mydomain.com [104.128.226.35])
    by mail.mydomain.com (Postfix) with ESMTPSA id E30387B8AB8A
    for <test-296da7c1@appmaildev.com>; Mon, 26 Nov 2018 15:13:25 -0500 (EST)
已收到:appmaildev.com和Microsoft SMTPSVC(8.5.9600.16384)从localhost([107.191.96.136]);
2018年11月26日星期一20:13:27+0000
接收:来自本地主机(gateway1.mydomain.com[104.128.226.35])
通过mail.mydomain.com(Postfix),ESMTPSA id为E30387B8AB8A
对于2018年11月26日星期一15:13:25-0500(美国东部时间)
以下是我想要实现的目标:

Received: from mail.mydomain.com (gateway1.mydomain.com [104.128.226.35])
        by mail.mydomain.com (Postfix) with ESMTPSA id E30387B8AB8A
        for <test-296da7c1@appmaildev.com>; Mon, 26 Nov 2018 15:13:25 -0500 (EST)
收到:来自mail.mydomain.com(gateway1.mydomain.com[104.128.226.35])
通过mail.mydomain.com(Postfix),ESMTPSA id为E30387B8AB8A
对于2018年11月26日星期一15:13:25-0500(美国东部时间)
代码如下:

<?php
require_once "Mail.php";

$from = "Chris <rob@mydomain.com>";
$to = "Rob Smith <test-29634da7c1@appmaildev.com>";
$subject = "Test email number 4";
$body = "Hey Ben,

I am writing to you that someone have told me you have receive my email in your inbox.

I am interested to know how you have done it exactly??

Please let me know how you did it.

Thanks,
Rob";


$host = "smtp.mydomain.com";
$port = "587";
$username = "myusername";
$password = "mypassword";


$headers = array ('From' => $from, 
    'To' => $to, 'Subject' => $subject,
    'Reply-To' => $from,
    'Content-type' => 'text/html; charset=iso-8859-1\r\n\r\n',
    'MIME-Version' => '1.0',
    'Date'  => date("r"),
    'Message-ID' => sprintf("<%s.%s@%s>",
            base_convert(microtime(), 10, 36),
            base_convert(bin2hex(openssl_random_pseudo_bytes(8)), 16, 36),
            'mydomain.com'));

$params = array ('host' => $host,
    'port' => $port,
    'auth' => 'PLAIN', // Note 1
    'socket_options' => array('ssl' => array('verify_peer_name' => false, 'verify_peer' => false)), // Note 2
    'username' => $username,
    'password' => $password);

$smtp = Mail::factory ('smtp', $params);
$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
} else {
  echo("<p>Email has been sent!</p>");
}
?>

我正在使用pear php给自己发送电子邮件

您知道如何从
Received:from localhost
更改为
Received:from mail.mydomain.com


如果是这样的话,你能给我举个例子,说明我应该用什么从内存中删除本地主机吗?

问题不在于你的代码,而在于你正在使用的本地托管邮件服务器

几年前我也遇到过类似的问题。细节是什么(例如,它是本地的,什么软件包,等等)


我所做的是告诉本地主机告诉其他服务器它是(在您的例子中是)“mail.mydomain.com”。

您是从本地主机发送的吗?是的,我是使用PHP从web主机发送的。我可以做些什么来删除localhost以替换为
mail.mydomain.com
?不,这是邮件服务器设置,您不能更改它--为什么要更改它?只有垃圾邮件发送者才会这么做谢谢你让我知道。您是如何通过软件将其从localhost更改为
mail.mydomain.com
的?类似于[链接]