如何在向GMAIL发送电子邮件时为电子邮件标题设置额外信息

时间:2014-07-30 09:35:36

标签: php gmail

我正在使用CodeIgnitor电子邮件库发送电子邮件。我想添加" EmployeeId:"发送电子邮件标题,然后发送电子邮件到Gmail电子邮件地址。

如何将该信息添加到标题?

3 个答案:

答案 0 :(得分:0)

您使用的是mail()函数吗?

$header = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail('mail@gmail.com', 'Subject', 'Message', $header);

更新

在CodeIgnitor中,您需要使用自己的set_header方法扩展EMail类。从这里你可以调用隐藏的_set_header()方法。

您可以查看这些确切的解释和示例:

答案 1 :(得分:0)

这取决于您用于发送电子邮件的类/功能。

使用简单的mail功能,您可以通过设置additional_headers参数:http://php.net/manual/en/function.mail.php

来执行此操作

但我建议您使用SwiftMailerhttp://swiftmailer.org/)发送电子邮件 - 播放标题非常简单:

// adding new text header
$message = Swift_Message::newInstance();
$headers = $message->getHeaders();
$headers->addTextHeader('Your-Header-Name', 'the header value'); 

// changing value
$subject = $message->getHeaders()->get('Subject');
$subject->setValue('new subject');

更多信息:http://swiftmailer.org/docs/headers.html

答案 2 :(得分:0)

Codeigniter电子邮件库不允许添加其他标头信息。为此,我们可以通过继承系统电子邮件类来创建自定义库类,如下所示:

将MY_Email.php保存在application / libraries / folder

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Email extends CI_Email {

    public function __construct() {
        parent::__construct();
    }

    public function add_custom_header($header_key, $header_value) {
        $this->_set_header($header_key, $header_value);
    }
}
/* End of file MY_Email.php */

此库类继承codeigniter电子邮件类,并添加一个方法add_custom_header(),其中包含两个名为header key和header value的参数,并将其添加到电子邮件的标题信息中。

用法:

$this->email->add_custom_header($header_key, $header_value);