我有一个表单,允许用户提交支持请求。该表单还允许用户发送附件(jpeg / pdf等..)
表单一旦提交,它就会向用户发送一封确认电子邮件,说明他们的请求,但也会将另一封确认信息发送给basecamp(项目管理软件),并在其中记录此请求。
basecamp的电子邮件应分为两部分;内容转到一封电子邮件,附件转到另一封电子邮件。
像(只是一个基本的例子):
$email_A = "project1@live.com";
$subject_A = "Todo:";
$message_A = "* Milk
* Bread";
$email_B = "project-image@live.com";
$subject_B = "Files";
$message_B = "";
mail($email_A, $subject_A, $message_A);
mail($email_B, $subject_B, $message_B);
如何将用户在表单中上传的文件附加到上述邮件($ message_B),以便将其通过电子邮件发送到basecamp?它在basecamp中说要通过电子邮件附加文件,你需要做的就是将主题作为“文件”并将附件插入电子邮件正文中?
答案 0 :(得分:1)
如果你想要它......
$boundary = md5(uniqid(rand()));
$headers = "From: webmaster@site.com\r\n"
."Mime: 1.0\r\n"
."Content-Type: multipart/mixed;boundary=\"".$boundary."\"\r\n";
$body = "--".$boundary."\r\n"
."Content-Type: text/html;charset=\"UTF8\"\r\n"
."Content-Transfer-Encoding: base64\r\n\r\n"
.chunk_split(base64_encode($text))."\r\n\r\n"
// second part of mail - attachment
."--".$boundary."\r\n"
."Content-Type: image/jpeg\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-Description: imageXXX.jpg\r\n"
."Content-Disposition: attachment; filename=\"imageXXX.jpg\"\r\n"
.chunk_split(base64_encode(file_get_contents('http://images6.fanpop.com/image/photos/34600000/Beautiful-Red-Roses-roses-34610966-1920-1080.jpg')))."\r\n\r\n"
."--".$boundary."--\r\n";
mail($to, $subj, $body, $headers);
我想你会明白我的观点。