Php 已发送但未收到的邮件,codeigniter
我已经配置了以下设置Php 已发送但未收到的邮件,codeigniter,php,codeigniter,email,smtp,Php,Codeigniter,Email,Smtp,我已经配置了以下设置 $config = Array( 'protocol' => 'smtp', 'smtp_host' => 'ssl://smtp.gmail.com', 'smtp_port' => 465, 'smtp_user' => 'send-mail@gmail.com', // change it to yours 'smtp_pass' => 'xyz', //
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'send-mail@gmail.com', // change it to yours
'smtp_pass' => 'xyz', // change it to yours
'smtp_timeout'=>20,
'mailtype' => 'text',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email',$config);
//$this->email->set_newline("\r\n");
$this->email->from('sender-mail@gmail.com', 'Garima');
$this->email->to('receiver-mail@gmail.com');
// mail message here
我得到以下信息:
您的邮件已使用以下协议成功发送:
邮寄
发件人:“Garima”发送-mail@gmail.com
返回路径:发送-mail@gmail.com
答复:“发送-mail@gmail.com"
X-Sender:发送-mail@gmail.com
X-Mailer:CodeIgniter
X优先级:3(正常)
消息ID:
Mime版本:1.0内容类型:文本/普通;字符集=utf-8
内容传输编码:8比特
首先,如果我将协议定义为smtp,为什么它将协议显示为邮件
其次,显示的消息中没有“to”字段。为什么会这样?我必须进行哪些更改?您忘记在代码中初始化电子邮件配置设置
$this->email->initialize($config);
所以你的代码是
$this->load->library('email');
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'send-mail@gmail.com', // change it to yours
'smtp_pass' => 'xyz', // change it to yours
'smtp_timeout'=>20,
'mailtype' => 'text',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->email->initialize($config);// add this line
//$this->email->set_newline("\r\n");
$this->email->from('sender-mail@gmail.com', 'Garima');
$this->email->to('receiver-mail@gmail.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send();
echo $this->email->print_debugger();
别忘了先加载库
$this->load->library('email');
然后配置这些设置
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'send-mail@gmail.com', // change it to yours
'smtp_pass' => 'xyz', // change it to yours
'smtp_timeout'=>20,
'mailtype' => 'text',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email',$config);
//$this->email->set_newline("\r\n");
$this->email->from('sender-mail@gmail.com', 'Garima');
$this->email->to('receiver-mail@gmail.com');
// mail message here
使用本地主机发送邮件
要了解有关CI电子邮件的更多信息您使用哪种类型的本地主机进行测试?xammp wamp等另一件事是,有时codeigniter不会发送,除非在xampp设置中配置了发送电子邮件设置谢谢。它使我摆脱了上述问题,但现在它显示了许多错误“fsockopen():无法连接”无法发送数据@SatySounds很好你摆脱了你的问题!!。现在,请粘贴您的errorfsockopen():SSL操作失败,代码为1。OpenSSL错误消息:错误:140770FC:SSL例程:SSL23\u GET\u SERVER\u HELLO:未知协议fsockopen():无法启用加密fsockopen():无法连接到ssl://smtp.gmail.com:587 (未知错误)fwrite()期望参数1是资源,如果在代码
$this->load->library('email')中出现此类错误@Satylittle change,则该参数为布尔值代码>从此行中删除$config
将'smtp\u port'=>465更改为'smtp\u port'=>587
,然后选中