php email()与图像

时间:2009-12-22 18:49:36

标签: php email

使用Outlook我可以发送插入邮件正文的图像的电子邮件(不作为附件)。我怎样才能使用PHP的mail()函数?

5 个答案:

答案 0 :(得分:4)

我会推荐Swift Mailer:

http://swiftmailer.org/docs/embedding-files

答案 1 :(得分:3)

来自the documentation(示例#4发送HTML电子邮件):

请注意$message变量内容以及$headers变量的值。

$to       = "john@doe.com";
$subject  = "HTML Email";
$message  = "Hello <img src='http://mysite.com/world.jpg' />";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: HTML Emailer <auto@example.com>' . "\r\n";

mail($to, $subject, $message, $headers);

答案 2 :(得分:2)

如果电子邮件是html / mime格式,您可以将其作为html ...

答案 3 :(得分:2)

我已广泛使用HTML Mime Email,这非常简单:

http://www.phpclasses.org/browse/package/32.html

$mail = new htmlMimeMail();
$mailhtml = $mail->getFile('./emailheader.html');
$mailimglogo = $mail->getFile('./images/email-logo-1.jpg');
$mail->addHTMLImage($mailimglogo, 'email-logo-1.jpg', 'image/jpeg');
$mailhtml .= '<tr><td class="mailheader" colspan="2" align="center">';
$mailhtml .= '<img src="email-logo-1.jpg"></td></tr>';

...


$mailhtml .= $mail->getFile('./emailfooter.html');
$mail->setHtml($mailhtml);
$mail->setFrom('Dana Brainerd <dana@danabrainerdphotography.com>');
$mail->setCc('adam@adamcasey.net');
$mail->setBcc('webmaster@danabrainerdphotography.com');
$mail->setSubject("Dana Brainerd Photography Order Number {$roworder['order_number']}");

$mailresult = $mail->send(array($roworder['customer_email']));                     

答案 4 :(得分:1)

如果您不想在某个地方托管图像并将它们包含在内,那么您需要做的是对它们进行编码,插入编码后的文本并通过ID引用它们。 PHPmailer处理得非常好(参见内联附件):

http://phpmailer.worxware.com/index.php?pg=tutorial#3

否则,您可以按照其他帖子中所述的网址引用它们。