大家好我想通过imap_mail函数发送电子邮件
http://php.net/manual/en/function.imap-mail.php
$to = implode(", ", $sentTo);
$subject = $email_info['subject'];
$body = wordwrap($email_info['body']);
$headers = "MIME-Version: 1.0;\r\nContent-type: text/html; charset=iso-8859-1;\r\nContent-Transfer-Encoding: 8bit;\r\n"
. "From: " . $account_doc->email . "\r\n" . "Reply-To: " . $account_doc->email . "\r\n";
$return_path = $account_doc->email;
$cc = implode(", ", $sentCC);
$bcc = implode(", ", $sentBCC);
if ( strlen($cc) === 0 ) $cc = NULL;
if ( strlen($bcc) === 0 ) $bcc = NULL;
if ( strlen($subject) === 0 ) $subject = "-";
$is_sent = imap_mail($to, $subject, $body, $headers, $cc, $bcc, $return_path);
if ($is_sent) {
imap_append( $connection , $account_doc->activeFolders->SENT
, "MIME-Version: 1.0;\r\nContent-type: text/html; charset=iso-8859-1;\r\nContent-Transfer-Encoding: 8bit;\r\n"
. "From: {$this->userDoc->name}\r\nTo: {$to}\r\nSubject: {$subject}\r\nDate: " . date("r", strtotime("now")) . "\r\n\r\n{$body}\r\n"
);
imap_close($connection);
$this->json_response("Email is sent");
imap_mail函数返回true,并附加电子邮件,我可以在邮箱中看到它。 但是,当我查看我发送的电子邮件时,这些电子邮件仍未发送。
有没有人知道导致问题的原因。
答案 0 :(得分:3)
IMAP
不会发送电子邮件。所有APPEND
都会向邮件文件夹添加邮件,但不会导致邮件传递。通常,您需要使用SMTP
。典型的电子邮件客户端将通过SMTP
发送,然后将相同的消息附加到SENT
文件夹。
某些服务器(例如Courier)具有可选扩展程序,可通过特殊的发件箱文件夹发送电子邮件,但此类扩展程序未得到广泛部署或支持。