PHP-带有附件的电子邮件会使原始消息折叠

化学家

在意识到更好的解决方案的同时,我正在使用手动PHP脚本将文件附加到要通过电子邮件发送的消息上。该文件已正确附加,我什至可以看到该消息,但是由于某种原因原始消息($msg)折叠了!所有这些\n\r我都消失了。有任何想法吗??

这是我的代码:

// construct message
$msg = "Beginning of message \n -------------------- \n\n";
$msg .= "some logic is added to the message using a loop with \r\n in between each item on the list.\r\n";
$msg .= "--\n The end of the message.";

// handle file upload
$attachment = $_FILES['uploaded']['tmp_name'];
$att_type = $_FILES['uploaded']['type'];
$att_name = $_FILES['uploaded']['name'];

if (is_uploaded_file($attachment)) {
  // read the file to be attached ('rb' = read binary)
  $file = fopen($attachment, 'rb');
  $data = fread($file, filesize($attachment));
  fclose($file);

  // generate a boundary string
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x[$semi_rand]x";

  // add the headers for a file attachment
  $headers .= "MIME-Version: 1.0\r\n" .
  "Content-Type: multipart/mixed; boundary=\"{$mime_boundary}\"\r\n\r\n";

  // MESSAGE GETS WRITTEN HERE
  // add a multipart boundary above the plain message
  $message = "This is a multi-part message in MIME format.\r\n" .
  "--{$mime_boundary}\r\n" .
  "Content-Type: text/html; charset=\"iso-8859-1\"\r\n\r\n";
  $message .= $msg . "\r\n\r\n";

  // add file attachment to the message
  $message .= "\r\n--{$mime_boundary}\r\n" .
  "Content-Type: {$att_type};\r\n" .
  " name=\"{$att_name}\"\n" .
  "Content-Disposition: attachment;" .
  " filename=\"{$att_name}\"\r\n\r\n" .
  $data . "\r\n" .
  "--{$mime_boundary}--\n";
}
else {
  $message = $msg;
}
$success = mail($to, $subject, $message, $headers);

未上传文件时,消息会到达并带有换行符。但是,当附加文件时,它会崩溃。为什么?任何帮助表示赞赏!否则,该脚本将起作用。

史蒂文五世

看起来您是通过使用告诉电子邮件客户端这是HTML电子邮件Content-Type: text/html大多数电子邮件客户端会在纯文本版本上显示电子邮件的HTML内容。那意味着\r\n不会工作。您需要<br />在HTML版本中使用以获得换行符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有多个带有文本消息的附件的PHP电子邮件

来自分类Dev

PHP-发送带有附件的电子邮件不显示消息内容

来自分类Dev

php发送带有PDF附件的电子邮件

来自分类Dev

发送带有附件的PHP电子邮件(失败)

来自分类Dev

php发送带有PDF附件的电子邮件

来自分类Dev

PHP Mail()无法发送带有附件的电子邮件

来自分类Dev

php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

来自分类Dev

如何使用php发送带有pdf附件的电子邮件?

来自分类Dev

HTML表单-PHP电子邮件,带有自定义消息和复选框

来自分类Dev

php - 带有附件文件的邮件 - 消息加密

来自分类Dev

PHP电子邮件附件文件

来自分类Dev

电子邮件存在带有Codeigniter php的功能

来自分类Dev

在PHP中制作带有HTML标签的电子邮件

来自分类Dev

通过带有IF条件的PHP发送电子邮件

来自分类Dev

PHP Contactform带有确认电子邮件

来自分类Dev

PHP邮件程序无法发送没有附件的电子邮件

来自分类Dev

Gmail API PHP客户端库-如何使用PHP客户端库创建带有附件的电子邮件草稿?

来自分类Dev

在我的后缀邮件队列中找到所有带有电子邮件的PHP脚本

来自分类Dev

打开带有附件的电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

使用带有或不带有附件的php发送邮件

来自分类Dev

如何在php smtp中发送带有阿拉伯html内容的电子邮件

来自分类Dev

通过PHP $ _POST循环,发送带有值的电子邮件

来自分类Dev

如何将带有PHP数组的HTML嵌入电子邮件中?

来自分类Dev

PHP验证表单,带有发送HTML模板问题的电子邮件

来自分类Dev

在php中发送带有图片的HTML电子邮件问题

来自分类Dev

登录名:带有PHP和MySQL的电子邮件密码匹配

来自分类Dev

带有JS验证的PHP联系人表格未发送电子邮件

Related 相关文章

  1. 1

    带有多个带有文本消息的附件的PHP电子邮件

  2. 2

    PHP-发送带有附件的电子邮件不显示消息内容

  3. 3

    php发送带有PDF附件的电子邮件

  4. 4

    发送带有附件的PHP电子邮件(失败)

  5. 5

    php发送带有PDF附件的电子邮件

  6. 6

    PHP Mail()无法发送带有附件的电子邮件

  7. 7

    php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

  8. 8

    如何使用php发送带有pdf附件的电子邮件?

  9. 9

    HTML表单-PHP电子邮件,带有自定义消息和复选框

  10. 10

    php - 带有附件文件的邮件 - 消息加密

  11. 11

    PHP电子邮件附件文件

  12. 12

    电子邮件存在带有Codeigniter php的功能

  13. 13

    在PHP中制作带有HTML标签的电子邮件

  14. 14

    通过带有IF条件的PHP发送电子邮件

  15. 15

    PHP Contactform带有确认电子邮件

  16. 16

    PHP邮件程序无法发送没有附件的电子邮件

  17. 17

    Gmail API PHP客户端库-如何使用PHP客户端库创建带有附件的电子邮件草稿?

  18. 18

    在我的后缀邮件队列中找到所有带有电子邮件的PHP脚本

  19. 19

    打开带有附件的电子邮件

  20. 20

    发送带有附件的电子邮件

  21. 21

    发送带有附件的电子邮件

  22. 22

    使用带有或不带有附件的php发送邮件

  23. 23

    如何在php smtp中发送带有阿拉伯html内容的电子邮件

  24. 24

    通过PHP $ _POST循环,发送带有值的电子邮件

  25. 25

    如何将带有PHP数组的HTML嵌入电子邮件中?

  26. 26

    PHP验证表单,带有发送HTML模板问题的电子邮件

  27. 27

    在php中发送带有图片的HTML电子邮件问题

  28. 28

    登录名:带有PHP和MySQL的电子邮件密码匹配

  29. 29

    带有JS验证的PHP联系人表格未发送电子邮件

热门标签

归档