【问题标题】:Plain text version of email is not working纯文本版本的电子邮件不起作用
【发布时间】:2023-05-09 04:14:01
【问题描述】:

所以我有脚本发送纯文本和 html 的多部分电子邮件,由于某种原因纯文本版本不起作用,但是当我在 gmail 中显示原始内容时,我可以看到它正在发送。当我单击消息乱码时,它只显示html?

// headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= 'From: From Name  <'. FROM_EMAIL. ">\r\n";
$headers .= 'To: '.$member->member_info['memem']. "\r\n";
$headers .= 'Bcc: receipts@gmail.com' . "\r\n";
$headers .= "Subject: Registration Receipt\r\n";
$headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";


// Additional headers
 $message . "\r\n\r\n--" . $boundary . "\r\n";
 $message .= "Content-type: text/plain;charset=utf-8\r\n\r\n";

 $message .= $receipt_txt;//plain text

 $message .= "\r\n\r\n--" . $boundary . "\r\n";
 $message .= "Content-type: text/html;charset=utf-8\r\n\r\n";

 $message .= $receipt_html;//html

 $message .= "\r\n\r\n--" . $boundary . "--";




mail( $member->member_info['memem'], 'Registration Receipt', $message, $headers );

【问题讨论】:

  • 简单:不要建立自己的 mime 电子邮件。使用 PHPMailer 或 Swiftmailer。要么将所有代码减少到几行。
  • 废话。我找到了。 "$message . "\r\n\r\n--" . $boundary . "\r\n";"应该是 "$message .= "\r\n\r\n--" . $boundary . "\r\n";"我觉得很笨:(
  • 请将您的解决方案作为答案发布并标记为已接受。

标签: php email multipart plaintext


【解决方案1】:

废话。我找到了。 "$message . "\r\n\r\n--" . $boundary . "\r\n";"应该是 "$message .= "\r\n\r\n--" . $boundary . "\r\n";"我觉得很笨:(

【讨论】:

    最近更新 更多