CodeIgniter和SparkPost

时间:2016-06-13 15:55:52

标签: codeigniter smtp sparkpost

我使用电子邮件库使用SMTP发送邮件。

我使用的是Mandrill,一切正常。

我现在使用SparkPost,我有不正常的错误。 CI库偶尔会返回空白错误。完全相同的邮件可以工作十次而且失败一次。

我的配置:

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.sparkpostmail.com';
$config['smtp_user'] = '****';
$config['smtp_pass'] = '****';
$config['smtp_port'] = '587';
$config['smtp_crypto'] = 'tls';
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['useragent'] = "BioCRM";
$config['wordwrap'] = FALSE;
$config['mailtype'] = "html";
$this->email->initialize($config);

以下是print_debugger()

带来的错误示例
> Example 1:  
> hello:  
> The following SMTP error was encountered:   
> starttls: 220 2.0.0 smtp.sparkpostmail.com ESMTP ecelerity 4.2.21.55447 r(Core:4.2.21.2) Thu, 09 Jun 2016 05:46:19 +0000  
>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.  

>Example 2:  
>hello: 220 2.0.0 smtp.sparkpostmail.com ESMTP ecelerity 4.2.21.55447 r(Core:4.2.21.2) Wed, 08 Jun 2016 14:08:44 +0000  
>The following SMTP error was encountered: 220 2.0.0 smtp.sparkpostmail.com >ESMTP ecelerity 4.2.21.55447 r(Core:4.2.21.2) Wed, 08 Jun 2016 14:08:44 +0000  
>  
>starttls: 250-momentum4.platform1.us-west-2.aws.cl.messagesystems.com says EHLO to 89.31.151.18:39185  
> 250-ENHANCEDSTATUSCODES  
> 250-8BITMIME  
> 250-AUTH=LOGIN PLAIN  
> 250-AUTH LOGIN PLAIN  
> 250-PIPELINING  
> 250 STARTTLS  
> The following SMTP error was encountered: 250-momentum4.platform1.us-west-2.aws.cl.messagesystems.com says EHLO to 89.31.151.18:39185  
> 250-ENHANCEDSTATUSCODES  
> 250-8BITMIME  
> 250-AUTH=LOGIN PLAIN  
> 250-AUTH LOGIN PLAIN  
> 250-PIPELINING  
> 250 STARTTLS  
> The following SMTP error was encountered: .0.0 continue  


>Example 3:  
>hello:   
>The following SMTP error was encountered: 
>starttls:  
>The following SMTP error was encountered:  
>The following SMTP error was encountered: .0.0 smtp.sparkpostmail.com ESMTP ecelerity 4.2.21.55447 r(Core:4.2.21.2) Wed, 08 Jun 2016 12:59:08 +0000  

由于我只使用Sparkpost得到了这些错误,我问他们,这是他们的回答:

  

您粘贴的错误是SMTP转换的常规部分。例如1:

     

“starttls:220 2.0.0 smtp.sparkpostmail.com ESMTP ecelerity 4.2.21.55447 r(核心:4.2.21.2)星期四,2016年6月9日05:46:19 +0000”

     

开始TLS是一个横幅广告,让人们知道我们接受TLS连接。 220是一个正确的代码,意味着它已准备好接受   Smtp.sparkpostmail.com是您连接到的服务器的主机名。   ESMTP是正在使用的协议   Ecelerity 4.2.21.55447 r(核心:4.2.21.2)是处理此连接的服务的名称和版本号,以及在建立连接时广播的SMTP会话。   (当然还有时间戳。)

     

然而,这似乎是您的应用程序错误:“无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。“

     

例如2,响应类似,但位置是奇数。我们不会多次发送EHLO,因此您的应用程序可能不喜欢EHLO,并在发送其他状态代码后报告错误。 “.0.0 continue”看起来像是SMTP会话的截断部分,应该看起来更像这个

     

数据
  354 3.0.0继续。完成了“\ r \ n。\ r \ n”

     

我不确定您的应用程序是否将这些解释为错误,因为它们都是SMTP会话的标准部分。由于有很多不同的跳转,你的应用程序当然可能超时或跳转之间的数据包丢失。我会检查以确保是否有任何数据包丢失在对话中(因为这可能是您的应用程序无法识别行的原因),如果没有,为什么您的应用程序无法识别部分SMTP会话。谢谢。

这对你们其中一个人意味着什么?

非常感谢

0 个答案:

没有答案