今天突然发现,本博客的注册功能不能用,我真怀具。我查了一下,服务器上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/comment-page-1
我想要一个邮件发送的例子
我在我的新浪邮箱已经启动了
可以用我的新浪邮箱发送
以前有个例子给丢了
O(∩_∩)O谢谢 !
已经发了,按你的要求,改成用新浪的了。
嗯。 我们公司那个会员注册功能也是用的smtp 很好用
这里在复习一下。 看看你的demo 呵呵。麻烦你给我发一份吧。谢谢!~
哥哥! 你博客注册还是不能用,杯具
我在后台,看到你已经注册了。不能登录吗?我自己注册一个试试,可以注册的。
搞了半天都没有搞成功哦,真不知道怎么搞了,能不能发一个实例给我,只要改一改就可以用的哪一种.谢谢
已发送到你的yahoo.cn邮箱
有没有用phpmailer发送带附件的例子啊,最好前台和后台都有啊,谢谢了。
有的,公司没有,回去找找,到时发你邮箱。
十分感谢你啊,我收到了你的邮件。以后有机会还会跟您多交流的啊,呵呵。
我看了您发给我的例子,没有带附件上传啊,能否帮忙找下啊,急需,谢谢。
有附件的,phpmail.tar.gz(16k)
呵呵,收到了。貌似您的附近忘记上传了吧,和上次的一样啊。麻烦您在发一次咯。
附件绝对有的,你看一下,是不是被你们的内部网络给过滤掉了。
我看了一下你写的这些文章,我觉得你真的很了不起,不知道你学php多久了?我也是从事php开发的,在开发的过程中遇到很多和发送邮件有关的问题,今天看你的这篇文章,简直是让人太高兴了。以前很多迷惑的东西,有可能以后就不再迷惑了。真的希望能够好好的请教一下你,呵呵!
谢谢你啊。带附件上传的功能,我已经实现了,没有我想的那么复杂。还想请教您的是,您做过富文本内容的邮件发送吗?就是使用phpmailer啊,这个不是说支持富文本发送的嘛。有思路也可以啊,帮帮忙忙吧。谢谢了。
也给我发一份上传附件的实例吧,谢谢。
您好,我要用这个方式 发送带附件的 邮件,请求您的帮助
我想要一份源代码 谢谢啦 最近也在研究这个东西
能不能把你的例子给我发一份啊 我现在正在做这个发邮件的功能 很急 谢谢哦
请问你的带附件的发邮件功能 ,附件可以下载不?给我发一份看下哈,谢谢了!
我要
发我邮箱好不
wllabs@163.com
您可以给我发一封吧
您可以发我一分嘛,带附件的邮件发送,我qq:641573418
已发送,最近工作比较忙,很少看自己的博客,不好意思
已发送,最近工作比较忙,不好意思
很好呀! 不过我发送不成功。你能给个例子吗?
要源码的,附上邮件地址
您好,我要用这个方式 发送带附件的 邮件,请求您的帮助
已发送
你好,我一直在找一个网友留言后能把留言发送到邮箱的程序,找来找去找到你这里来了。能否给做一个实例发给我,我比较菜的。
您好,在网上搜了很多关于phpmailer的例子,自己也尝试了几次,最后虽然是显示成功发送邮件,但是我查看我的邮箱,并没有什么邮件,想问一下这是为什么?
邮件已发送
谢谢你的例子!我还有一个需求,就是邮件附带附件,不知道这个例子里有没有相应功能的代码???谢谢!
感觉不错啊!怎么我写就不行呢?跟你写的差不多!怎么我运行就是显示Could not connect to SMTP host,我写的地址的对的~怎么就连接不上呢?你能否回答我的问题?
连sina,163是没有问题的,我测试都通过了。如果你是连的gmail的话,要加ssl的。有的邮件服务器,是不给通过程序去连他们邮件服务器的。
会给他们的mail服务器,带来很大的负担。
您的smtp,用的不是joomla!自带的smtp类吧?或者版本不对?
另外你的博客的时间不对,差八个小时,应该修改一下php.ini的时区,或者在用到时间的地方date_default_timezone_set('PRC');
smtp这个class是老早以前从网上下的,发邮件是没有问题的。不知道你指的版本不对是什么意思?
服务器放在美国,差了8个时区,这个没调
谢谢你 ,请你也把 引用的那个类一起发给我 吧
发我一份
我这怎么老是报错啊?两天了都,急死人了!
Could not instantiate mail function. Message could not be sent.
Mailer Error: Could not instantiate mail function.
Could not instantiate mail function. Message could not be sent.
Mailer Error: Could not instantiate mail function.
这是哪儿有问题啊,怎么个情况啊,急死了
发了一个例子给你,改个用户和密码就能用,新浪,163测试没问题,如果有自己的邮件服务器,就用自己的。
你在“用phpmailer发送邮件”,加多一句,include "smtp.php";
这些家火都是乱搞的,在5.1版本,phpmail里面包含了“smtp.php”
看下面
protected function SmtpSend($header, $body) {
require_once $this->PluginDir . 'class.smtp.php';
$bad_rcpt = array();
上面是二种方法,第二种方法,只要加载一个文件smtp.php就行了。不是将二个混在一起。
博主能不能把例子和工具一起发给我啊? 谢谢!!!!!
发了
你好~博主~请问可以发我一份么?
我是初学的。
这两天一直在研究这个邮件发送,在google上找了很久,都没有可以实现这个功能的--
有找到css-trics上一个contact form教程,但是照着做,也不能实现。
纠结不知道哪里出错