我正在使用PHPmailer(http://phpmailer.worxware.com/)课程通过电子邮件发送表单信息。在表单内部有一个这样的图像:
<form.....>
<div><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(42, 42); ?></div>
</form>
如何通过电子邮件发送该图片?谢谢。
答案 0 :(得分:2)
使用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/BasicMail
答案 1 :(得分:0)
除非您有一个文件输入字段,您通过该字段将图像上传到服务器,否则您将无法通过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电子邮件,他们有自己的一套规则和最佳做法。即如果您打算做比发送图像更复杂的事情,您应该使用像this one这样的CSS内联,避免使用background-image
之类的内容等。