使用php发送电子邮件附件 [英] send email with attachment using php
本文介绍了使用php发送电子邮件附件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用这个代码发送电子邮件附件使用PHP,但附件中有一些错误,因为我收到一封电子邮件,附件出现在内容中。之前我使用相同的代码,它的工作成功。为什么?
I used this code to send email with attachment using php, but there is something error in the attachment since I receive an email and the attachment appears in the content. before I use the same code and it worked successfully. why???
<?php
// sending email with attachments
function sendEmail($to,$from,$file,$ext){
$to = "admin@fuwant.com";
$from = "noor@fuwant.com";
$subject = "Translation Request";
$random_hash = md5(date('r', time()));
$headers = "From: sahar@fuwant.com\r\nReply-To: admin@fuwant.com";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode(file_get_contents("Test.doc")));
$output = "
--PHP-mixed-$random_hash;
Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash'
--PHP-alt-$random_hash
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
Hello World!
This is the simple text version of the email message.
--PHP-alt-$random_hash
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
<h2>Hello World!</h2>
<p>This is the <b>HTML</b> version of the email message.</p>
--PHP-alt-$random_hash--
--PHP-mixed-$random_hash
Content-Type: application/doc; name=Test.doc
Content-Transfer-Encoding: base64
Content-Disposition: attachment
$attachment
--PHP-mixed-$random_hash--";
$send = @mail($to, $subject, $output, $headers);
return $send;
}
?>
请帮忙。
推荐答案
为什么不使用 phpmailer 的原因?附件示例:
for what reason no use phpmailer? example for an attachment:
function mandaMail ($nombredest, $maildest, $asunto, $cuerpo) {
require_once("mailer/class.phpmailer.php");
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = "xxxx"; $mail->Port = 25; // smtp server
$mail->SMTPAuth = true;
$mail->Username = "xxxx"; // smtp username
$mail->Password = "xxxx"; // smtp pass
$mail->AddReplyTo("xxxx", "xxxx"); // email & name
$mail->SetFrom("xxxx", "xxxx"); // similar to up value
$mail->AddAddress($maildest, $nombredest);
$mail->Subject = $asunto;
$mail->MsgHTML(file_get_contents($cuerpo));
$mail->AddAttachment("xxxx", "xxxx"); // attachments directory, attachment name (ie: dir/blah.jpg, blah.jpg)
$mail->Send();
} catch (phpmailerException $e) { echo $e->errorMessage();
} catch (Exception $e) { echo $e->getMessage(); }
这篇关于使用php发送电子邮件附件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文