Rix*_*azi 5 php email codeigniter html-email
我有一个可以传递参数以轻松发送电子邮件的功能。
就是这个 :
function __construct() {
$this -> CI = get_instance();
$this -> CI -> load -> library('email');
}
public function send_one_email($single_email, $single_subject, $single_body, $single_attach) {
$this -> CI -> email -> clear();
$this -> CI -> email -> to($single_email);
$this -> CI -> email -> from('**************');
$this -> CI -> email -> subject($single_subject);
$this -> CI -> email -> message($single_body);
if ($single_attach) {
$this -> CI -> email -> attachment($single_attach);
}
if ($this -> CI -> email -> send()) {
return TRUE;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的电子邮件是(我不应该收到的):
?= =?utf-8?Q?2013?= 回复:“SUNYOrangeScholarInterface@gmail.com” X-发件人:SUNYOrangeScholarInterface@gmail.com X-Mailer:CodeIgniter X-优先级:3(正常)消息 ID: <520eb8d943533@gmail.com> Mime 版本:1.0 内容类型:多部分/替代;边界=“B_ALT_520eb8d943598”
这是 MIME 格式的多部分消息。您的电子邮件应用程序可能不支持此格式。
--B_ALT_520eb8d943598 内容类型:文本/纯文本;charset=utf-8 内容传输编码:8 位
您好,Rixhers Ajazi,这是一封自动电子邮件,通知您您的帐户已成功创建。您必须等待您的帐户得到验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并且您被授予用户角色,您将收到电子邮件通知。请注意,自从您创建了帐户后,您就有责任保证您的凭据的安全。其中包括您的电子邮件帐户、安全问题的答案以及密码本身。我(Rixhers Ajazi)只是想警告您,如果您不保证安全答案的安全,那么有人可以接管您的帐户。任何问题因此,使用 ScholarInterface 时,请发送电子邮件至 Rixhers Ajazi,邮箱为 CoderRix@gmail.com。如有任何与您帐户相关的问题,请通知您的管理员。Rixhers Ajazi 不是管理员,而是超级用户(该程序的编码者)。
--B_ALT_520eb8d943598 内容类型:text/html;charset=utf-8 内容传输编码:quoted-printable
您好,Rixhers Ajazi,这是一封自动电子邮件,通知您您的帐户已成功创建。您必须等待您的帐户得到验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并且您被授予用户角色,您将收到电子邮件通知。请注意,由于您已经创建了帐户,因此您有责任保证您的凭据的安全。其中包括您的 em= ail 帐户、您的安全问题答案以及您的密码 it= elf.I (Rixhers Ajazi) 只是想警告您,如果您不保证您的安全答案的安全,那么有人可能会接管您的帐户。如有任何问题 = ScholarInterface 的情况请发送电子邮件至 Rixhers Ajazi,地址为 Cod= erRix@gmail.com 任何与您的帐户相关的问题请通知您的 = 管理员。Rixhers Ajazi 不是管理员,而是超级用户(= 该程序的编码者)。
--B_ALT_520eb8d943598--
这到底是啥啊?
这是我在 email.php 中的配置:
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_user'] = '********************@gmail.com';
$config['smtp_pass'] = '**************************';
$config['smtp_port'] = 465;
$config['smtp_timeout'] = 30;
$config['charset'] = 'utf-8';
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
Run Code Online (Sandbox Code Playgroud)
我在另一个应用程序中使用相同的脚本,但我还没有得到这个。任何帮助都会很棒。
电子邮件顶部的消息似乎从主题标头开始,所以我猜这将是开始调试的好地方。
曾经存在一个由主题行超过 75 个字符引起的问题。
如果上述修复不起作用,那么开发人员已经修补了 Email.php 来解决问题:
https://github.com/EllisLab/CodeIgniter/issues/1409#issuecomment-9330713