发送电子邮件使用的PHPMailer
问题描述:
我想使用的PHPMailer这里我控制器代码发送电子邮件使用的PHPMailer
public function register(){ $this->form_validation->set_rules('username', 'Usename Name', 'trim|required|min_length[3]|max_length[30]');
$this->form_validation->set_rules('email', 'Email ID', 'trim|required|valid_email|is_unique[employer_registration.email]');
$this->form_validation->set_rules('mobile', 'Mobile', 'trim|required|numeric');
$this->form_validation->set_rules('password', 'Password', 'trim|required|md5');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('employer/emp_register');
}
else
{
$data = array(
'username' => $this->input->post('username'),
'email' => $this->input->post('email'),
'mobile' => $this->input->post('mobile'),
'password' => $this->input->post('password')
);
$email = $this->input->post('email');
$username = $this->input->post('username');
// insert form data into database
if ($this->Employer_model->insertUser($data))
{
require 'PHPMailerAutoload.php';
require 'class.phpmailer.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPAuth = true;
$subject = 'Testing Email';
$username = $username;
$email = $email;
$body = "Thank you for register your username is $username";
$mail->AddAddress($email);
$mail->IsMail();
$mail->From = 'domainname.com';
$mail->IsHTML(true);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->Send();
if(!$mail->send())
{
echo "<script>alert('Sorry! mail not sent')</script>";
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
else
{
echo "<script>alert('Email sent to $email mail id')</script>";
}
}}}
我已经下载PHPMailer的文件夹,从GitHub发送邮件,包括它在我的项目PHPMailerAutoload文件仍然成功注册我无法发送邮件后注册电子邮件ID。我得到错误,如梅勒错误:无法实例化邮件功能。
答
您使用SMTP
身份验证,但是你没有实际定义任何主机,这是必需的:
例:$mail->Host = "smtp.example.com";
端起$mail->isSMTP();
后与您的域名改变。
此外,您还可以选择像这样提供用户名和密码,如果你需要:
$mail->Username = 'username'; $mail->Password = 'password';
+1
谢谢你现在在工作 – Tejaswee
笨有一个电子邮件库。 – user4419336
请参阅下面的答案。 – Ionut
使用CI邮件库。 –