AWS SES codeigniter邮件失败

AWS SES codeigniter邮件失败,codeigniter,amazon-web-services,Codeigniter,Amazon Web Services,我使用以下代码使用我的amazon ses服务凭据发送电子邮件。但是信息没有被传递出去 这是我的代码: $this->load->library('email'); $config = array( 'protocol' => 'smtp', 'smtp_host' => 'email-smtp.us-east-1.amazonaws.com', 'smtp_user' => '******', 'smtp_pass' =>

我使用以下代码使用我的amazon ses服务凭据发送电子邮件。但是信息没有被传递出去

这是我的代码:

$this->load->library('email');

$config = array(
    'protocol' => 'smtp',
    'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
    'smtp_user' => '******',
    'smtp_pass' => '*********',
    'smtp_port' => 25
);

$this->email->initialize($config);

$this->email->from('sender08@example.com');
$this->email->to('reciever@example.com');

$this->email->subject('Test');
$this->email->message('test');
$this->email->set_newline("\r\n");
$this->email->send();
$this->email->print_debugger();

我怎样才能修好它

只需将email-smtp.us-east-1.amazonaws.com更改为ssl://email-smtp.us-east-1.amazonaws.com

为了让它正常工作,我在config/email.php文件中添加了以下几行

$config['newline']      = "\r\n";
$config['smtp_crypto']  = 'tls';
注意:你需要工作

我希望通过将其添加到配置数组中也能起作用:

$config = array(
    'protocol'  => 'smtp',
    'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
    'smtp_user' => '******',
    'smtp_pass' => '*********',
    'smtp_port' => 25,
    'newline'   => "\r\n",
    'smtp_crypto' => 'tls'
);
我找到了解决办法: 如果您正在使用TLS

那么代替这个, 电子邮件:smtp.us-east-1.amazonaws.com

使用 tls://email-smtp.us-east-1.amazonaws.com

及 加上这个 $config['newline']=“\r\n”; 其中您定义了SMTP配置

通过改变这两者,我面临着同样的问题


我希望这些建议也能对你们有所帮助

调试器有任何错误吗?没有。在应用此调试器时,未显示任何错误。出现以下错误:PHP错误严重性:警告消息:fsockopen():SSL操作失败,代码为1。OpenSSL错误消息:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议文件名:libraries/Email.php行号:1673为什么$config['smtp_crypto']它不是文档的一部分?!!就因为那条线,我花了两个小时试图解决这个问题。谢谢你,伙计!