关于phpmailer的信息
phpmailer使用网页企业邮箱发送邮件,显示密码错误,怎么解决
有些协议不是用邮箱密码,是填写生成的第三方登陆授权码。
如果确认密码正确的话,建议联系网易邮箱客服确认下。
phpmailer 发送邮件国外的邮箱一直提示Could not connect to SMTP host
出现这种情况一般有两种原因:
1.无法发出请求,本地设置问题
2.连接被stmp服务器拒绝,可能账号出问题,比如发信量大且频繁
第二种情况比较好解决,换一个登陆账号或者登陆IP就可以了。
针对第一种情况,执行以下脚本测试
[CODE_LITE]?php
$fp = fsockopen("smtp.163.com",25,$errno,$errstr,60);
if(! $fp)
echo '$errstr ($errno) br \n ';
else
echo 'ok br \n ';
?[/CODE_LITE]
如果报错:Warning: fsockopen() has been disabled for security reasons。
说明fsockopen函数被禁用,PHPmailer发送Email依赖此函数。
如何用PHPMailer接收邮件
现以中文版Outlook Express 4.0 为例进行设置:(一次设置长期可用) 1.单击窗口中的“工具/帐号”选项打开窗口; 2.在窗口中点击“邮件”标签; 3.单击“添加”按钮,选择“邮件”选项; 4.在输入姓名窗口中,输入您的用户名,单击“下一步”按钮; 5.输入您在中国工商报网邮件中申请的电子邮件地址,如:yourname@cicn.com.cn; 6.在“电子邮件服务器名”窗口中设置邮件服务器; 7.选择接收邮件服务器为“POP3”; 8.在接收服务器下输入中国工商报网邮件的POP3服务器名称:211.100.8.31 9.在发送邮件的服务器中,您可以输入本地的发件服务器,也可以输入中国工商报网邮件的发件服务器名称:211.100.8.31 设置完成后, 单击“下一步”按钮; 10.在登录窗口选择登录方式,输入POP帐号名,如邮箱是yourname@cicn.com.cn,帐号名(用户名)是yourname; 11.输入密码,密码一般为星号显示。如果您没有输入密码,系统会在接收邮件时会提示输入密码。单击“下一步”按钮; 12.输入Internet Mail帐号名(用户名),您可以采用系统默认名称,也可以修改; 13.单击“完成”按钮完成添加。 您可以单击窗口中的“发送接收”进行收发邮件。
phpmailer怎么屏蔽错误提示
php5可以实现;
PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。
Example #1 抛出一个异常
Note:
PHP 内部函数主要使用错误报告, 只有现代面向对象的扩展才使用异常。但错误可以很容易的通过ErrorException转换为异常。
参考例子如下:
Example #1 抛出一个异常
![CDATA[
?php
function inverse($x) {
if (!$x) {
throw new Exception('Division by zero.');
}
else return 1/$x;
}
try {
echo inverse(5) . "\n";
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'Caught exception: ', ?$e-getMessage(), "\n";
}
// Continue execution
echo 'Hello World';
?
如何在PHP中使用PHPMailer发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
?php
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require 'class.phpmailer.php';
try {
$mail = new PHPMailer(true);
$mail-IsSMTP();
$mail-CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
$mail-SMTPAuth = true; //开启认证
$mail-Port = 25;
$mail-Host = "smtp.163.com";
$mail-Username = "phpddt1990@163.com";
$mail-Password = "这是密码";
//$mail-IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示
$mail-AddReplyTo("phpddt1990@163.com","mckee");//回复地址
$mail-From = "phpddt1990@163.com";
$mail-FromName = "";
$to = "987044391@qq.com";
$mail-AddAddress($to);
$mail-Subject = "phpmailer测试标题";
$mail-Body = "h1phpmail演示/h1这是php点点通(font color=red;/font)对phpmailer的测试内容";
$mail-AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
$mail-WordWrap = 80; // 设置每行字符串的长度
//$mail-AddAttachment("f:/test.png"); //可以添加附件
$mail-IsHTML(true);
$mail-Send();
echo '邮件已发送';
} catch (phpmailerException $e) {
echo "邮件发送失败:".$e-errorMessage();
}
?
PHPMailer 发送邮件需开放什么端口
邮件配置
'THINK_EMAIL' = array(
'SMTP_HOST' = 'smtp.163.com', //SMTP服务器
'SMTP_PORT' = '465', //SMTP服务器端口
'SMTP_USER' = 'ihtxt@163.com', //SMTP服务器用户名
'SMTP_PASS' = 'ihtxt.com', //SMTP服务器密码
'FROM_EMAIL' = 'ihtxt@163.com', //发件人EMAIL
'FROM_NAME' = '爱红电子书', //发件人名称
'REPLY_EMAIL' = 'ihtxt@163.com', //回复EMAIL(留空则为发件人EMAIL)
'REPLY_NAME' = '爱红电子书', //回复名称(留空则为发件人名称)
),
注:推荐使用163邮件,不要使用QQ邮箱,邮件配置一定要正确
可以将该函数放到ThinkPHPCommoncommon.php。也可以放到你生成的项目文件的Commoncommon.php。不过只能放到一个地方,否则就会报函数重定义错误。
/**
* 系统邮件发送函数
* @param string $to 接收邮件者邮箱
* @param string $name 接收邮件者名称
* @param string $subject 邮件主题
* @param string $body 邮件内容
* @param string $attachment 附件列表
* @return boolean
*/
function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){
$config = C('THINK_EMAIL');
vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new PHPMailer(); //PHPMailer对象
$mail-CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail-IsSMTP(); // 设定使用SMTP服务
$mail-SMTPDebug = 0; // 关闭SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail-SMTPAuth = true; // 启用 SMTP 验证功能
$mail-SMTPSecure = 'ssl'; // 使用安全协议
$mail-Host = $config['SMTP_HOST']; // SMTP 服务器
$mail-Port = $config['SMTP_PORT']; // SMTP服务器的端口号
$mail-Username = $config['SMTP_USER']; // SMTP服务器用户名
$mail-Password = $config['SMTP_PASS']; // SMTP服务器密码
$mail-SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
$mail-AddReplyTo($replyEmail, $replyName);
$mail-Subject = $subject;
$mail-AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";
$mail-MsgHTML($body);
$mail-AddAddress($to, $name);
if(is_array($attachment)){ // 添加附件
foreach ($attachment as $file){
is_file($file) $mail-AddAttachment($file);
}
}
return $mail-Send() ? true : $mail-ErrorInfo;
}
$r = think_send_mail('要发送的邮箱','发送人名称,即你的名称','文件标题','邮件内容');
windows下在php.ini中去掉下面的分号
extension=php_openssl.dll
并将allow_url_fopen = Off改为
allow_url_fopen = On