【问题标题】:AWS SMTP mail error in CodeIgniter (Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.)CodeIgniter 中的 AWS SMTP 邮件错误(无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。)
【发布时间】:2018-11-29 01:39:42
【问题描述】:

我正在尝试使用 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--

【问题讨论】:

  • 你安装了邮件服务器吗?
  • 安装了 sendmail 但还是一样!
  • 使用 PHPMailer 会解决这个问题
  • em....好吧。我试图在 CI 中使用电子邮件库。我应该使用 PHPMailer
  • 请使用CI库发送邮件

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


【解决方案1】:
$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();

【讨论】:

  • 您遇到了什么问题?
  • 我将所有内容都设置为在 CI 中使用电子邮件库而不是 PHPMailer 但根本不起作用,出现错误,它只是说 Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method. 啊...让我发疯了
  • 我不知道这个错误,但你知道吗? PHPMailer 运行良好...!
  • 将 smtp_port 从 465 更改为 587 确保 $config['newline'] = "\r\n";是双引号而不是单引号
猜你喜欢
  • 2019-02-23
  • 2022-01-05
  • 2017-12-28
  • 2018-06-07
  • 2019-06-27
  • 2018-10-15
  • 2017-04-27
  • 2021-06-29
相关资源
最近更新 更多