Canot使用codeigniter使用mailgun smtp发送邮件

时间:2016-05-13 07:36:17

标签: php codeigniter mailgun

我正在尝试使用codeigniter电子邮件库和mailgun smtp发送电子邮件。 smtp设置是corectly配置,我不知道可能是什么问题....

这是php代码:

$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.mailgun.org';
$config['smtp_port'] = 25;
$config['smtp_user'] = 'user@user.com';
$config['smtp_pass'] = 'thepasswordconfiguredinmailgun';
$config['smtp_timeout'] = '4';
$config['crlf'] = '\n';
$config['newline'] = '\r\n';

$this->email->initialize($config);
$this->email->clear(TRUE);
$this->email->from('office@test.com', 'FromName');
$this->email->to('myemail@yahoo.com');

$this->email->subject('Subiect de test');
$this->email->message('Testez sa vad daca merge si daca pot sa trimit. Daca nu pot de ce nu pot ?');

$this->email->send();
echo $this->email->print_debugger();

我遇到以下错误:

The following SMTP error was encountered: 110 Connection timed out
Unable to send data: AUTH LOGIN
Failed to send AUTH LOGIN command. Error:
Unable to send data: MAIL FROM:

from: 

The following SMTP error was encountered:
Unable to send data: RCPT TO:

to: 

The following SMTP error was encountered:
Unable to send data: DATA

data: 

The following SMTP error was encountered:
Unable to send data: User-Agent: CodeIgniter Date: Fri, 13 May 2016 10:19:19 +0300 From: "PADigest" Return-Path: To: test123@yahoo.com Subject: =?utf-8?Q?Subiect_de_test?= Reply-To: "office@padiads.ro" X-Sender: office@padigest.ro X-Mailer: CodeIgniter X-Priority: 3 (Normal) Message-ID: <57357ff767c94@padiads.ro> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="B_ALT_57357ff767d02" This is a multi-part message in MIME format. Your email application may not support this format. --B_ALT_57357ff767d02 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Testez sa vad daca merge si daca pot sa trimit. Daca nu pot de ce nu pot ? --B_ALT_57357ff767d02 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Testez sa vad daca merge si daca pot sa trimit. Daca nu pot de ce nu pot ? --B_ALT_57357ff767d02--
Unable to send data: .

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.

User-Agent: CodeIgniter
Date: Fri, 13 May 2016 10:19:19 +0300
From: "PADigest" <office@padiast.ro>
Return-Path: <office@padiasr.ro>
To: test124@yahoo.com
Subject: =?utf-8?Q?Subiect_de_test?=
Reply-To: "office@padiast.ro" <office@padiast.ro>
X-Sender: office@padiast.ro
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <57357ff767c94@padigest.ro>
Mime-Version: 1.0


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

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

--B_ALT_57357ff767d02
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Testez sa vad daca merge si daca pot sa trimit. Daca nu pot de ce nu pot ?


--B_ALT_57357ff767d02
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Testez sa vad daca merge si daca pot sa trimit. Daca nu pot de ce nu pot ?

--B_ALT_57357ff767d02--

2 个答案:

答案 0 :(得分:0)

选中Mailgun's documentation

大多数情况下,这是由阻止端口#25的互联网服务提供商(“ISP”)引起的。如果您使用住宅ISP,则会发生这种情况。

要检查这一点,请尝试在命令行中运行telnet:

Trying 174.37.214.195...
Connected to mxa.mailgun.org.
Escape character is '^]'.
220 mxa.mailgun.org (Mailgun)

如果未阻止端口25,您应该看到如下内容:

docker run -p 3306:3306 --name containerName -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

如果您没有看到,那么您将被阻止。有几种解决方法:

  1. 使用HTTP API发送
  2. 尝试使用端口#587或#2525

答案 1 :(得分:0)

问题是我的共享托管服务提供商。他们不接受与外部smtp邮件提供商的连接的接缝。但是我会接受sotoz的回答,因为我将使用http api发送它们。