CodeIgniter中的AWS SMTP邮件错误(无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。)

时间:2018-06-20 02:42:45

标签: php codeigniter amazon-web-services email smtp

我正在尝试通过AWS SMTP发送电子邮件

传递了身份验证访问权限,并配置了所有内容,但仍然收到CI错误

$this->load->library("email");
$config['mailtype'] = 'html';
$config['useragent']    = 'ses-smtp-user.20160628-105419'; //origon

$config['protocol']     = 'smtp';
$config['smtp_host']    = 'email-smtp.us-west-2.amazonaws.com'; //origon

$config['smtp_user']    = 'user key ';
$config['smtp_pass']    = 'password';
$config['smtp_port']    = '465';
$config['charset']  = 'utf-8';
$config['crlf'] = "\r\n";      //should be "\r\n"
$config['newline'] = "\r\n";   //should be "\r\n"
$config['wordwrap'] = TRUE;
$config['smtp_crypto'] = 'tls'; // TLS protocol
$config['email_newline'] = "\r\n"; // SES hangs with just \n

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

$this->email->from("email addr",'name');
$this->email->to("mail to");

$this->email->subject("test email");
$this->email->message("test!"); //메세지
$status = $this->email->send();
if($status) echo "IT WORKED!";
print_r($this->email->print_debugger());

我不确定将'useragent'值'CodeIgniter'更改为'ses-smtp-user.20160628-105419'

并在我运行此代码时使用print_debugger()出现以下错误

hello:
The following SMTP error was encountered:

starttls:
The following SMTP error was encountered:
The following SMTP error was encountered:

Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.

Date: Wed, 20 Jun 2018 02:23:28 +0000
From: =?UTF-8?Q?=EB=B3=84=EB=AA=85?= <email>
Return-Path: <email>
To: mailto
Subject: =?UTF-8?Q?aws=20mail=20test=20mail=20f?==?UTF-8?Q?orm=20ori?= =?UTF-8?Q?gon!=20=20!?=
Reply-To: <email>
User-Agent: ses-smtp-user.20160628-105419
X-Sender: email
X-Mailer: ses-smtp-user.20160628-105419
X-Priority: 3 (Normal)
Message-ID: <email>
Mime-Version: 1.0


Content-Type: multipart/alternative; boundary="B_ALT_5b29baa048f13"

This is a multi-part message in MIME format.
Your email application may not support this format.

--B_ALT_5b29baa048f13
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

test!


--B_ALT_5b29baa048f13
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

test=21

--B_ALT_5b29baa048f13--

1 个答案:

答案 0 :(得分:0)

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => 'xxx',
    'smtp_pass' => 'xxx',
    'mailtype'  => 'html', 
    'charset'   => 'iso-8859-1'
);
$this->load->library('email', $config);
// set new line
$this->email->set_newline("\r\n");

//set to, from, message body, etc.
$result = $this->email->send();