如何使用pear smtp发送附件

时间:2016-02-29 08:15:39

标签: php email smtp pear

我想使用pear smtp发送包含电子邮件的文件。电子邮件已成功转至电子邮件。附件也是附带电子邮件但是带有noname但没有内容。当我下载附件时,它只有一行"这是MIME格式的多部分消息..."。

我不明白它的错误。我已经附加了这个问题的代码,我用来通过电子邮件发送附件。请大家回顾一下,让我知道这段代码有什么问题。

提前致谢。

require_once "Mail.php";   
include('Mail/mime.php');

$from = "Dispatcher <server@mymailserver.com>";
$host = "smtp.mymailserver.com";
$username = "mailuser";
$password = "password";
$to = "email@example.com";
$subject = "Subject of the email";

$hdrs = array ('From' => $from,
            'To' => $to,
            'Subject' => $subject,
            );


$text = 'Text version of email';
$html = '<html><body>HTML version of email</body></html>';
$file = './test.txt';

$crlf = "rn";
$mime = new Mail_mime($crlf);
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$mime->addAttachment($file);

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$smtp = Mail::factory('smtp',
  array ('host' => $host,
        'auth' => true,
        'username' => $username,
        'password' => $password));

$smtp->send($to, $headers, $body);

        if (PEAR::isError($mail)) {
            echo("<p>" . $mail->getMessage() . "</p>");
        } else {
            return 1;
        }

1 个答案:

答案 0 :(得分:0)

$crlf表示&#34;回车,换行&#34;应该是那样。

使用"\n"使其与电子邮件一起使用。