Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 亚马逊SES:双点_Codeigniter_Smtp_Amazon Ses - Fatal编程技术网

Codeigniter 亚马逊SES:双点

Codeigniter 亚马逊SES:双点,codeigniter,smtp,amazon-ses,Codeigniter,Smtp,Amazon Ses,我在亚马逊SES上遇到了一些奇怪的行为。 我有一个使用SES发送html电子邮件的Web应用程序,最近我注意到一些图像在收到电子邮件后不会加载 图像存储在S3中 检查后,我注意到只是在某些情况下,图像的url正在被修改。 举个例子:图像的url是,在发送电子邮件后,图像的url变成(注意扩展名前的双点) 如果我向gmail和hotmail发送相同的电子邮件,我会遇到这个问题,但图像不同。Gmail将双点放在image_2.png中,hotmail将双点放在image_1.png中 Im使用Cod

我在亚马逊SES上遇到了一些奇怪的行为。 我有一个使用SES发送html电子邮件的Web应用程序,最近我注意到一些图像在收到电子邮件后不会加载

图像存储在S3中

检查后,我注意到只是在某些情况下,图像的url正在被修改。 举个例子:图像的url是,在发送电子邮件后,图像的url变成(注意扩展名前的双点)

如果我向gmail和hotmail发送相同的电子邮件,我会遇到这个问题,但图像不同。Gmail将双点放在image_2.png中,hotmail将双点放在image_1.png中


Im使用Codeigniter电子邮件类通过SMTP发送电子邮件

要使CI的电子邮件类与Amazon SES协同工作,需要将换行符设置为
\r\n
,如上所述。查看并回答。

当我们使用CodeIgnitor Amazon SES库时,此问题已得到解决:

添加
'crlf'=>“\r\n”
使用以下配置修复了此问题:

/aaapplication/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;
?>



每个提供者的不同行为似乎表明您用于组装/发送电子邮件而不是目标服务的代码存在问题-您能否相应地提供(最终缩写)组装/发送代码片段?在尝试codeigniter邮件类的每个配置选项后,我尝试添加
'crlf'=>“\r\n“
它似乎解决了这个问题。虽然它只是发生在我用SES smtp发送电子邮件时。我尝试使用其他smtp主机,但不必添加此配置选项。我明白了,所以通过向gmail和hotmail发送相同的电子邮件,您的意思是这些提供商仍然是通过SES通过smtp发送的电子邮件的收件人,而不是其他地方发送的电子邮件的smtp提供商,对吗?