phpmail 的调用(发邮件例子)

phpmail的调用:调用需要phpmailer包的,所以第一次用的朋友需要先下好。

  1. 使用前先引入class.smtp.php和class.phpmailer.php这2个文件,路径根据自己的文件路径而写。

  2. 下面的send_mail方法中传入了6个参数,分别是:收件人邮箱(recipient),发件人名字(sender),邮件标题(title),内容(body),发件人邮箱服务器+邮箱+邮箱密码(form),debug模式(0不开,1开)。

  3. 收件人邮箱是用于AddAddress(email,name)方法的,email也可以是数组,用于群发,name是收件人名字。

  4. form参数传的是3个参数.

    第一个$form['host'](smtp服务器)有163邮箱,qq邮箱等类型,根据自己而写,如smtp.163.com;

    第二个参数$form['user'],就是发件人邮箱;

    第三个参数$form['pwd'],邮箱密码;

    我把默认的form参数写在了config中,所以如果没有传入新的form参数,就直接使用默认邮箱发送。

  5. debug是调试模式,会输出错误原因等信息。在测试时可以用一用。

  6. 安全证书类型:$mail->SMTPSecure='tls',选'ssl'安全证书时一直发送失败,还没研究出为什么,如果知道的大神请告之...

 	/**
 	 *发送邮件 
 	 *参数:收件人email,发件人名,标题,内容,匿名,不匿名,发送邮箱的参数,debug模式
 	 */
 	public function  send_mail($recipient,$sender,$title,$body,$form,$debug=0){
 		include("./ThinkPHP/Extend/Vendor/Phpmailer/class.smtp.php");
 		include("./ThinkPHP/Extend/Vendor/Phpmailer/class.phpmailer.php"); 		
 		$mail=new PHPMailer();
 		$mail_config=C("MAIL_CONFIG");
 		$user=$mail_config["MAIL_USER"];
 		$host=$mail_config["MAIL_SMTP"];
 		$pwd=$mail_config["MAIL_PWD"];
 		if(isset($form)){
 			$user=$form['user'];
 			$host=$form['host'];
 			$pwd=$form['pwd'];
 		}
 		$mail->IsSMTP();//smtp发送邮箱
 		$mail->Host=$host;
 		$mail->SMTPAuth=true;//打开SMTP认证
 		$mail->From=$user;
 		$mail->FromName=$sender;
 		$mail->Username=$user;
 		$mail->Password=$pwd;
 		$mail->SMTPSecure='tls';
 		if($debug==1){
 		  $mail->SMTPDebug=true;
 		}
 		$mail->Port="25";//接口
 		$mail->debug=$debug;
 		$mail->AddAddress("$recipient");
 		$mail->Subject=$title;
 		$mail->Body=$body;
 		$mail->isHTML(true);
 		if($mail->Send()){
 			echo "邮件发送成功";
 		}else{
 			echo "错误原因".$mail->ErrorInfo;
 		}
 	}


你可能感兴趣的:(phpmail 的调用(发邮件例子))