我正在使用 PHPmailer (http://phpmailer.worxware.com/) 类通过电子邮件发送表单信息。表格里面有这样的图像:
<form.....>
<div><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(42, 42); ?></div>
</form>
如何通过电子邮件发送该图像?谢谢你。
使用该AddAttachment
方法或撰写 HTML 邮件并将图像作为src
链接包含在内。
附件:http
://code.google.com/a/apache-extras.org/p/phpmailer/wiki/AdvancedMail
链接: http ://code.google.com/a/apache-extras.org/p/phpmailer /wiki/基本邮件
除非您有一个文件输入字段,您可以通过该字段将图像上传到服务器,否则您将无法通过 PHPMailer(或任何其他方式)发送它。
<form>
...
<input type="file" />
...
</form>
也就是说,如果您真的想发送附加到电子邮件的图像。另一方面,如果您想发送一封电子邮件,其中包含嵌入在电子邮件正文中的图像代码,那么我猜您正在寻找一种发送 HTML 电子邮件的方法,PHPMailer 也支持这种方法。这是一个示例,您将如何做到这一点(请注意,图像本身需要可公开访问)。
<?php
/**
* Sending an HTML email through PHPMailer and SMTP...
*/
require_once('PHPMailer.class.php');
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->CharSet = 'utf-8';
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "smtp.example.com"; // sets the SMTP server
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = "user@example.com"; // SMTP account username
$mail->Password = "password"; // SMTP account password
$mail->AddReplyTo('user@example.com', 'Sending User');
$mail->AddAddress('user_2@example.com', 'Receiving User');
$mail->SetFrom('user@example.com', 'Sending User');
$mail->Subject = 'Image';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML('<html><body><img src="http://example.com/path_to_image.jpg" width="xxx" height="xxx" /></body></html>'));
$mail->Send();
echo "Message Sent OK<p></p>\n";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>
至于 HTML 电子邮件,它们有自己的一套规则和最佳实践。即,如果您打算做比发送图像更复杂的事情,您应该使用像这样的 CSS 内联器,避免使用诸如background-image
等之类的东西。