Codeigniter: SMTP mail not working(Codeigniter:SMTP 邮件不起作用)
问题描述
我正在尝试设置一个联系表单,但我正在努力让它与 CI 中的 SMTP 配置一起使用.不过,我已经成功尝试了基本的邮件"配置.
I'm trying to set up a contact form, and I'm struggling to get it working with the SMTP configuration in CI. However I've successfully tried with the basic 'mail' config.
简而言之,我正在使用以下简单代码进行测试:
To cut it short, I'm doing my tests with this simple code:
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.1and1.es',
'smtp_port' => 25,
'smtp_user' => 'user@mysite.com',
'smtp_pass' => '********',
'mailtype' => 'text',
'charset' => 'utf-8',
'wordwrap' => true,
'wrapchars' => 50
);
$this->load->library('email');
$this->email->initialize($config);
$this->email->from('my_real_email_address@gmail.com');
$this->email->to('my_real_email_address@gmail.com');
$this->email->reply_to('my_real_email_address@gmail.com', 'John Doe');
$this->email->subject('Message sent from the contact form in website');
$this->email->message('Body of message...');
if ($this->email->send()) {
return true;
}
echo '<!--' . print_r($this->email->print_debugger(), true) . '-->';
return false;
我刚刚询问了我的托管服务提供商,所有 SMTP 配置都是正确的.他们还检查了我的电子邮件帐户是否正常工作.
I've just asked my hosting provider and all the SMTP config is correct. They've also checked my e-mail account is working properly.
事实上,如果我选择:
protocol => '邮件'
消息传递没有问题.AFAIK php mail() 函数也使用托管服务提供商 SMTP,但它只是将它交给服务器并忘记它.
the message is delivered without problems. AFAIK the php mail() function also uses the hosting provider SMTP but it simply hands it over to the server and forgets it.
相反,我想使用 SMTP 身份验证,它担心电子邮件的发送.但只能通过改变
Instead I'd like to use SMTP authentication, which worries about the dispatch of the e-mail. But only by changing
协议 => 'smtp'
当我发送表单时,处理时间很长,我终于收到了这条调试消息:
when I send the form there's a lot of processing time and I finally get this debugging message:
220 smtp.1and1.es (mreu2) Welcome to Nemesis ESMTP server
hello: The following SMTP error was encountered:
Failed to send AUTH LOGIN command. Error: 421 smtp.1and1.es connection timed out
from: The following SMTP error was encountered:
to: The following SMTP error was encountered:
data: 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.
User-Agent: CodeIgniter
Date: Thu, 24 Jan 2013 18:51:31 +0100
From: <my_real_email_address@gmail.com>
Return-Path: <my_real_email_address@gmail.com>
To: my_real_email_address@gmail.com
Reply-To: "John Doe" <my_real_email_address@gmail.com>
Subject: =?utf-8?Q?Message_sent_from_the_contact_form_in_website?=
X-Sender: my_real_email_address@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <510174a33158d@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Body of message...
这个错误的原因可能是什么?
What might be the reason of this error?
推荐答案
有人报告说配置项有单引号问题:
Some have reported having an issue with a config item having single quotes:
$config['crlf'] = '
'; //should be "
"
$config['newline'] = '
'; //should be "
"
我很确定 protocol =>mail
不使用您的提供商——它将直接从您的服务器发送电子邮件.
I'm pretty certain protocol => mail
does not use your provider -- it will send the email directly from your server.
如果不是单引号问题,则可能是凭据、防火墙或连接要求不正确(例如,您的电子邮件提供商是否需要 TLS/SSL).
If it's not the single quote issue, it might be an issue with incorrect credentials, firewall or connection requirement (say if your email provider requires TLS/SSL).
尝试连接到邮件服务器并与另一个客户端发送电子邮件(您可以使用 telnet:http://www.wikihow.com/Send-Email-Using-Telnet 或 Thunderbird 等)来验证协议是否正确.
Try connecting to the mail server and send an email with another client (you could use telnet: http://www.wikihow.com/Send-Email-Using-Telnet or thunderbird or somesuch) to verify the protocols are correct.
这篇关于Codeigniter:SMTP 邮件不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Codeigniter:SMTP 邮件不起作用
基础教程推荐
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01