我在Amazon SES上遇到了一些奇怪的行为。 我有一个使用SES发送HTML电子邮件的webapp,最近我注意到一些图像在收到电子邮件后没有加载。
图像存储在S3中。
经过检查,我注意到在某些情况下,图像的网址正在被修改。 以此示例为例:图片的网址为http://example.com/image_name.png,在发送电子邮件后,图片的网址变为http://example.com/image_name..png(注意扩展前的双点)。
如果我将同一封电子邮件发送到gmail和hotmail,我会遇到此问题,但会出现不同的图片。 Gmail在image_2.png中添加了双点,而hotmail将其放入image_1.png。
我使用Codeigniter电子邮件类通过SMTP发送电子邮件。
答案 0 :(得分:3)
对于使用Amazon SES的CI电子邮件类,需要将换行符设置为\r\n
,如上面的评论中所述。请参阅this question并回答。
答案 1 :(得分:1)
当我们使用CodeIgniter Amazon SES库时,此问题已得到解决:{{3p>
答案 2 :(得分:0)
添加'crlf' => "\r\n"
通过以下配置解决了该问题:
/aaplication/config/email.php
<?php
$config['protocol'] = 'smtp';
$config['mail_smtp_secure'] = 'TLS';
$config['smtp_host'] = 'ssl://email-smtp.us-west-2.amazonaws.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'user';
$config['smtp_pass'] = 'password';
$config['charset'] = 'UTF-8';
$config['mailtype'] = 'html';
$config['newline'] = "\r\n";
$config['crlf'] = "\r\n";
$config['wordwrap'] = TRUE;
$config['smtp_timeout'] = '20';
$config['bcc_batch_mode'] = TRUE;
?>