如何使用PHP发送电子邮件附件

时间:2010-12-18 21:43:19

标签: php

  

可能重复:
  Send email with attachments in PHP?

如何使用PHP发送电子邮件附件而无需安装任何内容并只使用mail()函数?

5 个答案:

答案 0 :(得分:0)

zend框架有一个很好的类来做到这一点。它需要您将框架复制到您的服务器才能访问它。

http://framework.zend.com/

答案 1 :(得分:0)

PHPMailer可以使用原生mail()函数:

<?php

require_once('PHPMailer_v5.1/class.phpmailer.php');

$mail = new PHPMailer(); // defaults to using php "mail()"

$body = file_get_contents('contents.html');
$mail->SetFrom($fromAddress, 'First Last');
$mail->AddReplyTo($replyToAddress, "First Last");
$mail->AddAddress($toAddress, "John Doe");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);

// $mail->AddAttachment("images/phpmailer.gif");      // attachment
// $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

答案 2 :(得分:0)

$attachment = chunk_split(base64_encode(file_get_contents('attachment.zip')));

阅读This Article了解详情。

答案 3 :(得分:0)

需要使用multiplart / mixed MIME类型以及base64_encode附件。

查看此链接Mail() Email Attachment了解详情。

答案 4 :(得分:0)

附件包含在邮件正文中。熟悉MIME和MIME RFC可能是个好主意。 Christopher IckesBrad提供的链接将有助于实施,但代码会隐藏在调试轨道时可以提供帮助的详细信息。