Php 我无法使用Codeigniter发送任何电子邮件
我已经创建了一个控制器,并在控制器中创建了一个测试功能,以测试电子邮件是否已发送 我检查了不同的电子邮件地址,但没有成功。这是我的代码示例:Php 我无法使用Codeigniter发送任何电子邮件,php,codeigniter,email,Php,Codeigniter,Email,我已经创建了一个控制器,并在控制器中创建了一个测试功能,以测试电子邮件是否已发送 我检查了不同的电子邮件地址,但没有成功。这是我的代码示例: public function sendmail() { $config['protocol'] = 'sendmail'; $config['mailpath'] = '/usr/sbin/sendmail'; $config['charset'] = 'iso-8859-1'; $config['wordwrap'] =
public function sendmail() {
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$user_id = 1;
$name = 'Mark Alan';
$this->email->set_newline("\r\n");
$this->email->from('info@domainname.com', "Test Name");
$this->email->to('test@domainname.com');
$this->email->subject('Test Mail');
$this->email->message('This is a test message');
$this->email->send();
echo $this->email->print_debugger();
}
使用Codeigniter(假设您已经自动加载了电子邮件库),您可以在一个名为email.php的配置文件中设置电子邮件首选项,然后从那里自动加载这些首选项。它可能看起来像:
// Setting Email Preferences
$config['useragent'] = 'CodeIgniter'; // Mail engine switcher: 'CodeIgniter' or could be 'PHPMailer'
$config['protocol'] = 'smtp'; // 'mail', 'sendmail', or 'smtp'
$config['mailpath'] = '/usr/sbin/sendmail';
或者像在您的示例中一样,您可以手动设置它们,但需要对其进行初始化,因此在定义$config[]数组后不要忘记这一行:
$this->email->initialize($config);
请尝试以下代码:
function sendMail()
{
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com', //Your Host
'smtp_port' => 465, // Add 25 port if you sending from your smtp mail server
'smtp_user' => 'xxx@gmail.com', // change it to yours, server email
'smtp_pass' => 'xxx', // change it to yours
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$message = '';
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('xxx@gmail.com'); // change it to yours
$this->email->to('xxx@gmail.com');// change it to yours
$this->email->subject('Resume from JobsBuddy for your Job posting');
$this->email->message($message);
if($this->email->send())
{
echo 'Email sent.';
}
else
{
show_error($this->email->print_debugger());
}
}
注意:请添加您的smtp端口和smtp电子邮件帐户详细信息。是否加载电子邮件库<代码>$this->load->library('email')代码>您似乎忘记了
$this->email->initialize($config)代码>您是在本地主机上测试它,还是在实时服务器上测试它cpanel@AbedPutra是的,我确实加载了library@shabirullah在live server上,我使用核心php通过使用mail()函数和接收电子邮件进行了测试,但通过codigniter我没有