php邮件功能中的抄送在发件人(发件人)和抄送邮件地址相同的情况下不起作用[重复]

Posted

技术标签:

【中文标题】php邮件功能中的抄送在发件人(发件人)和抄送邮件地址相同的情况下不起作用[重复]【英文标题】:Cc in php mail function not working where sender(From) and cc mail address is same [duplicate] 【发布时间】:2020-11-02 20:27:48 【问题描述】:

我在 php 邮件功能中发送 cc 以获取客户端反馈时遇到问题。 这是一个简单的php代码-

<?php
if(isset($_POST["submit"]))
// Checking For Blank Fields..
if($_POST["name"]==""||$_POST["email"]==""||$_POST["sub"]==""||$_POST["msg"]=="")
echo "Fill All Fields..";
else
// Check if the "Sender's Email" input field is filled out
$email=$_POST['email'];
// Sanitize E-mail Address
$email =filter_var($email, FILTER_SANITIZE_EMAIL);
// Validate E-mail Address
$email= filter_var($email, FILTER_VALIDATE_EMAIL);

if (!$email)
echo "Invalid Sender's Email";

else
$subject = $_POST['sub'];
$name = $_POST["name"];
$message = $_POST['msg'];
$headers = 'From:'. $email . "\r\n"; // Sender's Email
$headers .= 'Cc:'. $email . "\r\n"; // Carbon copy to Sender
// Send Mail By PHP Mail Function
mail("xyz@example.com", $subject, $message, $headers);
echo "Your mail has been sent successfuly !";



?>

邮件已正确发送给发件人,但未发送抄送。此外,当我在抄送字段中修复电子邮件地址时,即 abc@xxx.com 而不是 $email,然后抄送工作。帮我解决问题。

【问题讨论】:

为什么要为同一个变量调用两次filter_var() 我怀疑这与 PHP 有什么关系。检查您的邮件日志。 【参考方案1】:

我曾经在这方面遇到过很多麻烦。尝试安装php mailer插件

https://github.com/PHPMailer/PHPMailer.

当您意识到您可能希望从发送电子邮件中获得更多收益时,这还可以防止将来出现问题并为您节省大量时间。

【讨论】:

以上是关于php邮件功能中的抄送在发件人(发件人)和抄送邮件地址相同的情况下不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 EWS 获取电子邮件正文、收据、发件人和抄送信息?

抄送电子邮件和多个收件人电子邮件地址不起作用

在 Laravel 5.4 中向多个抄送收件人发送电子邮件

梨邮件功能密件抄送不会发送

Ruby Net::SMTP - 使用密件抄送发送电子邮件:收件人

Python:如何通过 IMAP 将带有密件抄送收件人的草稿电子邮件存储到 Exchange Server?