php - 使用 php 发送带附件的电子邮件

标签 php email attachment

我使用此代码使用 php 发送带附件的电子邮件,但附件中有一些错误,因为我收到一封电子邮件并且附件出现在内容中。在我使用相同的代码并且它成功运行之前。为什么???

<?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 ?附件示例:

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 - 使用 php 发送带附件的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431327/

相关文章:

javascript - 电子邮件签名中带有 URL 的动态内容

ruby-on-rails - Action Mailer attachments.inline 显示为普通附件,而不是内联

html - 在 Outlook 中查看时,表格的右边框未显示在电子邮件模板中

php - PHP邮件功能无法完成电子邮件的发送

JavaScript 数组到同一 php 文件上的 php 脚本

php - 放大点击的图像,无论其他图像的位置如何

java - 使用 Java 和 Apache HttpClient 将附件发布到 confluence 时出现 404

email - 使用Google Script在Gmail中插入带有超链接的文本吗?

php - FilterAggregation无法正常工作

php - 我如何在php中格式化时间