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

如何使用PHP发送电子邮件附件,php,Php,可能重复: 我如何使用PHP发送电子邮件附件而不安装任何东西,只使用mail()函数?zend framework有一个很好的类来完成这项工作。需要将框架复制到服务器才能访问它 可以使用本机邮件()功能: <?php require_once('PHPMailer_v5.1/class.phpmailer.php'); $mail = new PHPMailer(); // defaults to using php "mail()" $body = file_get_conten

可能重复:


我如何使用PHP发送电子邮件附件而不安装任何东西,只使用mail()函数?

zend framework有一个很好的类来完成这项工作。需要将框架复制到服务器才能访问它

可以使用本机
邮件()
功能:

<?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!";
}


阅读了解更多信息。

需要使用多部分/混合MIME类型,并对附件进行base64_编码


查看此链接了解详细信息。

附件包含在邮件正文中。熟悉MIME RFC可能是个好主意。和提供的链接将有助于实现,但代码掩盖了在调试过程中可以帮助实现的细节。

已经有很多问题可以回答。请不要发布重复的问题。@netcoder,我不想继续阅读或使用搜索。已经有几十个问题提供了多种选择。发布重复问题违反SO规则,您的问题可能会被关闭。如果你不想要PHPMailer、Zend_Mail或这个或那个,至少在问题中指定它。@netcoder,我想我没有必要为此生气。这似乎是一个很好的答案:我真的不想使用PHPMailer?@single为什么不?它可以用作
mail()
函数的包装器,因此您不必处理标题和附件。它只是一个PHP类文件。你已经试过了吗?对框架不感兴趣
$attachment = chunk_split(base64_encode(file_get_contents('attachment.zip')));