在PHP中,我使用mail()发送邮件,它不能保存在我发送的项目文件夹中

2 php email

使用邮件功能发送电子邮件正常.但我的问题是如何在邮件发送时自动保存已发送邮件文件夹中的邮件

即时通讯使用自己的smtp服务器和端口号是25

是php ini文件中需要的任何配置,或者我可能使用imap

我的代码如下

<?php
function send_email($from, $to, $subject, $message){
 $headers = "From: ".$from."\r\n";
 $headers .= "Reply-To: ".$from."\r\n";
 $headers .= "Return-Path: ".$from."\r\n";
 $headers .= "Content-type: text/html\r\n"; 

 if (mail($to,$subject,$message,$headers) ) {
    echo "email sent";
 } else {
    echo "email couldn't be sent";
 }
}

$subject = "Helloooo!";
$message .= "<html><body>";
$message .= "<b>Hey! How are you today?</b>";
$message .= "<br>Regards";
$message .= "</body></html>";
send_email("frm addr", "MYEMAILADDRESS@gmail.com", 
 $subject , 
 $message);
?>
Run Code Online (Sandbox Code Playgroud)

"frm addr"是我自己的网址,由我的邮件服务器提供

每当我使用上述功能发送邮件时,如何存储或自动将邮件保存到我发送的项目文件夹

感谢adv

R.Saravanakumar

Pek*_*ica 8

您必须了解该mail()功能在远程服务器上运行.您发送电子邮件的功能不知道"已发送邮件"文件夹的概念.

也就是说,可能让邮件服务器将邮件的副本放在同一服务器上运行的IMAP邮箱的"已发送"文件夹中.但这包括很多麻烦,并且需要root访问服务器.

更简单的解决方案是让mail()函数向您发送每封已发送邮件的副本,并设置Outlook规则以将这些邮件复制到"已发送"文件夹中.

为此,您可以在发送副本时向主题添加特定字符串(如"从表单1234567发送的邮件",一些不太可能在普通邮件中重复的随机数).然后,您的Outlook规则将查找包含该主题的邮件,并将其移动到"已发送"文件夹(或任何其他文件夹).