今天突然发现,本博客的注册功能不能用,我真怀具。我查了一下,服务器上php的mail函数不能用,这就意味着,注册的时候,不能发送邮件给你,这样你就无从知道密码了。发送邮件的东西,我刚接触php的时候,就搞过。当时觉得挺神奇,哈哈。没有搭建邮件服务器照样发邮件。不过是利用别人邮件服务器。phpmailer,smtp都是发送邮件的工具,好东西,我们当然可以拿来用。
一,用phpmailer发送邮件
<?php include "class.phpmailer.php"; //包函邮件发送类 //邮件发送 function send_mail($frommail,$tomail,$subject,$body,$ccmail,$bccmail) { $mail = new PHPMailer(); $mail->IsSMTP(); // 经smtp发送 $mail->Host = "smtp.163.com"; // SMTP 服务器 $mail->SMTPAuth = true; // 打开SMTP 认证 $mail->Username = "zhangyinghf@163.com"; // 用户名 $mail->Password = "**********"; // 密码 $mail->From = $frommail; // 发信人 $mail->FromName = "suport of 51yip"; // 发信人别名 $mail->AddAddress($tomail); // 收信人 if(!empty($ccmail)){ $mail->AddCC($ccmail); // cc收信人 } if(!empty($bccmail)){ $mail->AddCC($bccmail); // bcc收信人 } $mail->WordWrap = 50; $mail->IsHTML(true); // 以html方式发送 $mail->Subject = $subject; // 邮件标题 $mail->Body = $body; // 邮件内空 $mail->AltBody = "请使用HTML方式查看邮件。"; return $mail->Send(); } $result= send_mail("zhangyinghf@163.com","xtaying@gmail.com","test","test"); ?>
phpmailer的功能很多,非常的全面,你可以打开class.phpmailer.php文件看一下,他里面带了好多功能,发邮件常用的功能它都有。大致如下:
- 在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
- 支持多种邮件编码包括:8bit,base64,binary和quoted-printable
- 支持SMTP验证
- 支持冗余SMTP服务器
- 支持带附件的邮件和Html格式的邮件
- 自定义邮件头
- 支持在邮件中嵌入图片
- 调试灵活
- 经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
- 可运行在任何平台之上
二,用smtp发送邮件
<?php include "smtp.php"; $smtpserver = "smtp.163.com"; //SMTP服务器 $smtpserverport = 25; //SMTP服务器端口 $smtpusermail = "zhangyinghf@163.com"; //SMTP服务器的用户邮箱 $smtpuser = "zhangyinghf@163.com"; //SMTP服务器的用户帐号 $smtppass = "*********"; //SMTP服务器的用户密码 $smtpemailto = "xtaying@gmail.com"; //发送给谁 $mailsubject = "账号分配"; //邮件主题 $mailbody = "<h1>this is a test"; //邮件内容 $mailtype = "HTML"; //邮件格式(HTML/TXT),TXT为文本邮件 $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = true;//是否显示发送的调试信息 $mailsubject = mb_convert_encoding($mailsubject, "gb2312", "utf-8"); $mailbody = mb_convert_encoding($mailbody, "gb2312", "utf-8"); $result= $smtp->sendmail($smtpemailto, $smtpusermail,$mailsubject, $mailbody, $mailtype); ?>
smtp的功能少多了,不过能满足基本的需求。如果有需要的朋友,加入qq群:72949212,群共享里面有。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/php/910.html
发了。
谢谢你的例子!
试了下,可以发送到填写进的邮箱了。:D
我前天搜索了下,发现发布出去的原因是由于服务器PHP没有开启“Support Socket”。之后联系了空间商,让他们帮换了个开启这个功能的服务器之后,就可以发送了。
不过总是发到邮箱的“垃圾箱”里。--!
“http://www.regalbali.com/contact.php” 这个是我最后做好的。
你邮件里提到“不能注册”,我不清楚这情况哦~没试过在这里注册。
是“发现发不出去的原因”, 上面写错了一个字:P
能发我一份么!!! 能用QQ的邮箱发送么!?~
找了可多资料,都不行,希望博主的这个可以成功,请给我也发一份吧!
834058309@qq.com
已发
您好 下面是我的代码
$mail = new PHPMailer(); //new一个PHPMailer对象出来
$body = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤
$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
// $mail->SMTPDebug = 1; // 启用SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = "ssl"; // 安全协议
$mail->Host = "192.168.1.203"; // SMTP 服务器
$mail->Port = 25; // SMTP服务器的端口号
$mail->Username = "13823769366@163.com"; // SMTP服务器用户名
$mail->Password = "yuhang8997950"; // SMTP服务器密码
$mail->From = "13823769366@163.com";
// $mail->SetFrom('admin@jiucool.com', '发件人名称');
// $mail->AddReplyTo("admin@jiucool.com","邮件回复人的名称");
$mail->Subject = $subject;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From http://www.jiucool.com"; // optional, comment out and test
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, "收件人名称");
运行时 错误信息:
eeCould not instantiate mail function. Mailer Error: Could not instantiate mail function.
请问大哥该如何决解 小弟刚接触用php发邮件 现在项目需要bcc 求大哥给我例子 小弟不胜感激
能给我发来一份吗?我很想要得,谢了!
我想要一个smtp发邮件的smtp.php文件和例子,谢谢
你好,博主。
我是初学者可以发一份实例吗?
关于gmail的smtp
谢谢
网上很多用gmail发邮件的例子,google一下,google邮箱是https的,一般情况下smtp走的是25端口,但gmail不是,如果我没有记错的话。如果想用gmail发邮件,php.ini要加上php_openssl.dll,如果是linux系统加上openssl.so
你好博主,我是个PHP新手,我用phpmailer给QQ发邮件总是发到垃圾箱里去 我也加了那个sll,但是还是不行 你能发给我个样例吗?谢谢了!!!
hello,google到博主的文章,想请教一下phpmailer的AddBCC和AddCC方法只能应用在win32系统下吗?linux下应该如何添加一个抄送?
我想试着在header里加入抄送,但是不知道应该怎么写。
我试过 mailer->addheader("Bcc:bcc@example.com\r\n");但是不行,没有发出密送
phpmailer功能很全,抄送功能肯定有,你看一下phpmailer的说明文档。
您好,我是一个php初学者,刚上班公司叫我做个webmail,我不知道改怎么实现邮件的发送,能给我发一个例子么?简单的就行,谢谢!
博主好,在本机windows环境下运行成功的代码,在linus虚拟空间下运行失败这是怎么回事?这是空间的phpinfo():http://www.yellowthrough.com/misstheday_for_test/process/mail.php
错误提示:请输入至少一个有效的收件地址(大概意思如此,我用的是qq邮箱)
求大神解释
phpmailer会去调用邮件服务器,不管是别人还是自己的。只要mail函数能用,就没什么问题。qq的防垃圾邮件做的相当出色,换个邮件试一下。
两个发送的方式, 希望把例子和工具都发我邮箱, 谢谢。 把你博文都看了一遍 刚才花了几个小时
楼主能发份给我么 572212420@qq.com 谢谢
楼主您好, 我想学习下, 能否发下列子, 麻烦了
我需要,发给我!!
楼主为什么我的总是显示Could not instantiate mail function。我都快被逼疯了,楼主可加我QQ解答一下,谢了~