以前项目中邮件发送的一个实例,整理个缩略版,方便套用:
注意:
服务器PHP环境不能禁止fsockopen函数,否则邮件发送不了,但也有解决的办法。
将现在正在使用的PHPMailer目录文件打包上传,方便自己,也方便广大的php爱好者们。
PHPMailer下载:http://file.jb200.com/code/201304/PHPMailer_jb200.com.rar
另外,将当时出现的问题所收录的内容整理如下:
1、Error: Could not connect to SMTP host
原因1:不邮邮件系统要求的smtp请求不同一,但是都允许大写,有些不支持小写,比如网易,腾讯的邮箱。(至于是不是这样,我没测试过,反正都改为大写,也不影响)
解决方法:
<?php
public function IsSMTP() {
$this->Mailer ='SMTP'; // 将smtp ->SMTP ;即原来是小写,现在大写。
}
// Choose the mailer and send through it
switch($this->Mailer) {
case 'sendmail':
return $this->SendmailSend($header, $body);
case 'SMTP'://同样 将smtp ->SMTP ;即原来是小写,现在大写。
return $this->SmtpSend($header, $body);
case 'mail':
default:
return $this->MailSend($header, $body);
}
2、SMTP Error: Could not connect to SMTP host
原因:有的虚拟主机,或服务器,为了安全起见屏蔽了“fsockopen()函数”导致无法发送邮件
解决方法:
启用fsockopen函数
首先,在php.ini中去掉下面的两个分号
替换fsockopen函数
可以将class.smtp.php文件中fsockopen函数换成pfsockopen函数
3、Could not instantiate mail function
原因:
设置的参数不正确,我使用了gmail做一些基本测试,需要在次设置其他参数。
解决方法:
$mail->SMTPSecure = ‘tls'; //只需要加上这句
注:这种错误我没碰到过,所以在上面的例子中,这个内容我是加了注释的。如果碰到这种错误的,可以使用这句试试。
洋洋洒洒写了这么多,希望可以帮助大家学习使用PHPMailer这个不错的邮件发送类,并就遇到的问题得以顺利解决哦。
您可能感兴趣的文章:
PHPMailer发送邮件的实例分享
phpmailer发送gmail邮件的例子
phpmailer发送网易126邮箱的例子
phpmailer发送yahoo邮件的例子
phpmailer类实现邮件群发的实例代码
PHPMailer发送邮件代码实例(ubuntu系统)
PHPMailer收发邮件标题、发件人、内容乱码问题的终极解决方法
PHPmailer发送邮件及乱码问题的解决
PHPMailer发送邮件中文附件名乱码的解决办法
PHPMailer邮件标题中文乱码的解决方法
PHPMailer邮件类发送邮件举例(163邮箱)
phpmailer 发送邮件中文乱码问题的解决方法总结
phpmailer发送邮件及实现密码找回功能的代码
PHPmailer邮件群发的入门例子
PHPmailer 邮件群发的范例参考
phpmailer发邮件中文乱码问题如何解决
phpmailer 类发送邮件乱码解决方法
PHPMailer批量发送邮件的实例代码
有关phpmailer的用法
php使用phpMailer发送邮件的例子
phpmailer实现的简单openvpn用户认证的代码
PHPMailer 中文使用说明
phpmailer发送邮件的例子