如何使PHPMailer忽略';从';电子邮件地址并仅显示名称?

如何使PHPMailer忽略';从';电子邮件地址并仅显示名称?,php,email,outlook,phpmailer,Php,Email,Outlook,Phpmailer,我使用的PHPMailer与outlook的SMTP配置相同 假设我的电子邮件是“b@example.com名字是“鲍勃,b”。 当我从outlook向“Alice”发送邮件时a@example.com". 在她的outlook客户端中,她只会看到“Bob,b”,而不会在标题中看到我的电子邮件地址 当从“PHPMailer”发送相同的邮件时,Alice将在她的outlook中看到“Bob,b{b@example.com}" 当我尝试在没有电子邮件的情况下设置它时: $mail->setFr

我使用的PHPMailer与outlook的SMTP配置相同

假设我的电子邮件是“b@example.com名字是“鲍勃,b”。 当我从outlook向“Alice”发送邮件时a@example.com". 在她的outlook客户端中,她只会看到“Bob,b”,而不会在标题中看到我的电子邮件地址

当从“PHPMailer”发送相同的邮件时,Alice将在她的outlook中看到“Bob,b{b@example.com}"

当我尝试在没有电子邮件的情况下设置它时:

$mail->setFrom('Bob, b');
smtp添加了{root@mysmtpblabla.example.com}


PHPMailer处理程序可以处理这种情况吗?仅用姓名发送?

这确实有助于实际发送

将该信息应用到示例中,您应该执行以下操作:

$mail->setFrom("b@example.com", "Bob, b");
在大多数电子邮件客户端中,它会显示名称而不是电子邮件-在Outlook或Apple Mail中,它通常会在名称旁边或滚动时显示电子邮件地址-只是因为它不显示地址并不意味着没有地址

有些电子邮件服务不允许您从任意地址(如gmail)发送邮件,因此您可能仍会发现发件人地址本身发生更改


由于Michael_B给出的所有原因,你不应该尝试在没有发件人地址的情况下发送邮件,而且这也不太可能奏效;这就是为什么PHP和PHPMailer都会添加一个由主机名自动生成的文件。

这样做确实有帮助

将该信息应用到示例中,您应该执行以下操作:

$mail->setFrom("b@example.com", "Bob, b");
在大多数电子邮件客户端中,它会显示名称而不是电子邮件-在Outlook或Apple Mail中,它通常会在名称旁边或滚动时显示电子邮件地址-只是因为它不显示地址并不意味着没有地址

有些电子邮件服务不允许您从任意地址(如gmail)发送邮件,因此您可能仍会发现发件人地址本身发生更改


由于Michael_B给出的所有原因,你不应该尝试在没有发件人地址的情况下发送邮件,而且这也不太可能奏效;这就是为什么PHP和phpMail都会添加一个由主机名自动生成的文件。

我阅读了文档,知道如何使用“setForm”方法。我写信给Michael,当我将outlook邮件从我的组织发送给我组织中的其他人时,outlook中不会显示电子邮件地址。。。这是事实,我认为在大多数组织中都是这样。当我通过PHPMailer发送邮件时,电子邮件地址显示在名称旁边,我希望它的行为与从outlook发送邮件的行为完全相同。比较收到邮件的标题,看看有什么区别-如果缺少,请设置
SMTPDebug=2
,并检查您提交的邮件中的邮件是否正确(以防它在传输过程中被某些东西改变)。Outlook做了很多错误的事情。我阅读了文档,我知道如何使用“setForm”方法。我写信给Michael,当我将outlook邮件从我的组织发送给我组织中的其他人时,outlook中不会显示电子邮件地址……这是事实,我认为在大多数组织中都是这样工作的。当我通过PHPMailer发送邮件时,电子邮件地址会显示在名称旁边,我希望它的行为与sen完全一样从outlook发送电子邮件。比较收到的邮件中的标题,看看有什么不同-如果缺少,请设置
SMTPDebug=2
,并检查您提交的邮件中的标题是否正确(以防邮件在传输过程中被某些内容更改)。outlook会做很多错误的事情。