【发布时间】:2015-04-14 19:00:36
【问题描述】:
我正在尝试发送带有图像的电子邮件,但我的服务器中只有二进制代码。 知道怎么做吗?
现在我发送这样的 html(base 64 编码):
<img src="data:image/png; base64, iVBORw0KGgoAAAANSUhEUgAAANIAAANBCAYAAAC ..." />
我正在使用 Symfony2 的 SwiftMailer 库来发送电子邮件。
完整的示例代码(在二进制代码中有删减):
//params
$subject = "Demo e-mail";
$body = "<html>
<table>
<tr>
<td>
<img src='data:image/png; base64, iVBORw0KGgo...zIIAAAAASUVORK5CYII='>
</td>
<td style='padding-left:20px'>
<div>
<h3>Product name</h3>
<h4>Code 3089</h4>
<p>14.70 $</p>
</div>
</td>
</tr>
</table>
</html>";
$name = "Client name";
$email = "clientmail@domain.com";
$from_address = "mail@domain.com";
$from_name = "App Name";
//SwiftMessag eobject
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array($from_address => $from_name))
->setTo(array($email => $name))
->setBody($body, 'text/html');
//send email
$this->get('mailer')->send($message);
【问题讨论】:
-
我刚刚看到
data:是重复的。你可以只用一个data:吗? -
好的,复制/粘贴问题,但在项目中没有重复。这不是问题。
-
如何将此图像发送到 Swiftmailer?请出示完整代码。
标签: php image symfony binary swiftmailer