邮件已发送但未收到,codeigniter
Mail sent but not received, codeigniter
我配置了以下设置
$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
我收到以下消息:
Your message has been successfully sent using the following protocol:
mail
From: "Garima" send-mail@gmail.com
Return-Path: send-mail@gmail.com
Reply-To: "send-mail@gmail.com"
X-Sender: send-mail@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <@gmail.com>
Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
首先,如果我定义的协议是smtp,为什么显示协议是mail。
其次,显示的消息中没有 "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');
然后配置这些设置Can Refer here too
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx',//your E-mail
'smtp_pass' => 'xxx',//Your password
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
// Set to, from, message, etc.
$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
$this->email->cc('another@another-example.com');
$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$result = $this->email->send();
使用 localhost
发送邮件
- 如果您使用 XAMPP,请执行此设置 Stack Answer for Send mail
XAMPP
- 如果您使用 wamp 发送邮件 Stack Answer for Send mail with
WAMP
阅读更多有关 CI 电子邮件 CI E-Mail Library
我配置了以下设置
$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
我收到以下消息:
Your message has been successfully sent using the following protocol: mail
From: "Garima" send-mail@gmail.com
Return-Path: send-mail@gmail.com
Reply-To: "send-mail@gmail.com"
X-Sender: send-mail@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <@gmail.com>
Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
首先,如果我定义的协议是smtp,为什么显示协议是mail。
其次,显示的消息中没有 "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');
然后配置这些设置Can Refer here too
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx',//your E-mail
'smtp_pass' => 'xxx',//Your password
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
// Set to, from, message, etc.
$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
$this->email->cc('another@another-example.com');
$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$result = $this->email->send();
使用 localhost
发送邮件- 如果您使用 XAMPP,请执行此设置 Stack Answer for Send mail XAMPP
- 如果您使用 wamp 发送邮件 Stack Answer for Send mail with WAMP
阅读更多有关 CI 电子邮件 CI E-Mail Library