【问题标题】:How to set return path for smtp authenticated email using Codeigniter?如何使用 Codeigniter 设置 smtp 认证电子邮件的返回路径?
【发布时间】:2015-07-13 18:13:42
【问题描述】:

我有下面使用codeigniter的代码,

$config['mailtype'] ='html';
$config['charset'] = 'iso-8859-1';
$config['protocol'] ='smtp';
$config['smtp_host'] ='mail.DomainName';
$config['smtp_user'] = "UserEmailId";
$config['smtp_pass'] = "UserPassword";
$config['smtp_port'] ='25';
$this->email->clear(TRUE);

$this->email->initialize($config);
$this->email->from($fromemail, $fromname);
$this->email->to( $email_to );
$this->email->return_path("BouceEmailId"); // I have made this function in system/library/email.php. Also changed the mail() -f field from _headers['from'] to _headers['return-path']

$this->email->subject( "Subject" );
$this->email->message( "This is test email" );

$this->email->send();

在上面的代码中它发送了一封电子邮件。但它删除了我设置的返回路径,它只是用发件人地址替换它。 我读过一些文章说 SMTP 在发送时设置了返回路径。

使用 SMTP 验证时如何设置返回路径?

SMTP 不允许为退回的电子邮件设置自定义 return_path。投递时会自动设置return_path和from地址。

【问题讨论】:

    标签: php codeigniter email smtp-auth email-bounces


    【解决方案1】:

    阅读手册CL Email Class

    参数:
    $from (string) – “发件人”电子邮件地址 $name (string) – “发件人”显示名称 $return_path (string) – 可选的电子邮件地址,将未送达的电子邮件重定向到 退货:
    CI_Email 实例(方法链)

    You can also set a Return-Path, to help redirect undelivered mail:
    
    $this->email->from('you@example.com', 'Your Name', 'returned_emails@example.com');
    

    【讨论】:

    • 我给出的代码工作正常。如果我不使用协议 SMTP,那么我设置的返回路径有效。但是当我使用协议 SMTP 时,它会将返回路径设置为 from 地址而不是我给定的返回路径地址。
    猜你喜欢
    • 2019-02-11
    • 2014-06-15
    • 2016-02-07
    • 2011-04-19
    • 2015-11-10
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多