0

0

php多种形式发送邮件_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:40:09

|

1251人浏览过

|

来源于php中文网

原创

 这篇文章主要介绍了php多种形式发送邮件的方法,包括使用mail()函数、使用管道的形式、使用phpmailer类等方法,大家参考使用吧

小邮包 包月订购包年程序
小邮包 包月订购包年程序

小邮包-包月订购包年服务网,该程序由好买卖商城开发,程序采用PHP+MYSQL架设,程序商业模式为目前最为火爆的包月订制包年服务模式,这种包年订购在国外网站已经热火很多年了,并且已经发展到一定规模,像英国的男士用品网站BlackSocks,一年的袜子购买量更是达到了1000万双。功能:1、实现多产品上线,2、不用注册也可以直接下单购买,3、集成目前主流支付接口,4、下单发货均有邮件提醒。

下载
1. 使用 mail() 函数    没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发。这个按照各个系统不同而定。使用参考手册。    2. 使用管道的形式    昨天刚测试成功,使用本地的qmail来发送邮件。    代码如下: /* 使用qmail发送邮件函数 */   function send_check_mail($email, $subject,$uid,$buffer)   {    $command =  "/var/qmail/bin/qmail-inject ".$email; //qmail程式地址,$email是要发送的地址    $handle = popen($command, "w"); //打开管道  http://www.cnblogs.com/roucheng/  if (!$handle) {     return false;    }       $from = "webmaster@unixsky.net"; //发件人    fwrite($handle, "From: ".$from."\n"); //往管道写数据    fwrite($handle, "Return-Path: ".$from."\n");    fwrite($handle, "To: ".$uid."\n");    fwrite($handle, "Subject: ".$subject."\n");    fwrite($handle, "Mime-Version: 1.0\n");    fwrite($handle, "Content-Type: text/html; charset=\"gb2312\"\n\n");    fwrite($handle, $buffer."\n");    pclose($handle); //关闭管道      return true;   }     ------------------测试发送邮件:     //发送邮件     $subject = "测试邮件";     $uid = $_POST['uid']; //from信息   $content = "".$u_email         ." 你好!

谢谢,本邮件测试!
"; //内容信息     $u_email = "hren@yahoo.com.cn"; //发送到的邮箱   if (send_check_mail($u_email, $subject, $uid, $content)) {      echo "恭喜!发送投票邮件到你的邮箱!

请检查你的邮箱:".$u_email."

". $close;    } else {      echo "非常不幸,发送投票邮件到你的邮箱失败,请重试或联系研发人员。

". $close;     }     当然,也能使用相同的方法来处理sendmail的进程来发送邮件。    下面代码示例:     代码如下:     其实这种管道的方法比较底层,取决于你所调用程式的稳定性。所以是一种可选的发送邮件的方式。      3. 使用phpmailer类    是个开源的发送邮件类,主站:http://phpmailer.sourceforge.net    里面是两个文件,一个是class.smtp.php,更有以个是class.phpmailer.php 另外加上官方网站的使用方法:  Examples using phpmailer  1. Advanced ExampleThis demonstrates sending out multiple email messages with binary attachments from a MySQL database with multipart/alternative support.   代码如下: require("class.phpmailer.php");     $mail = new phpmailer();     $mail->From     = "list@example.com";   $mail->FromName = "List manager";   $mail->Host     = "smtp1.example.com;smtp2.example.com";   $mail->Mailer   = "smtp";     @MYSQL_CONNECT("localhost","root","password");   @mysql_select_db("my_company");   $query?=?SELECT full_name, email,?hoto?ROM employee?HERE?d=$id";   $result??MYSQL_QUERY($query);     while ($row = mysql_fetch_array ($result))   {       // HTML body       $body  = "Hello " . $row["full_name"] . ",

";       $body .= "Your personal photograph to this message.

";       $body .= "Sincerely,
";       $body .= "phpmailer List manager";         // Plain text body (for mail clients that cannot read HTML)       $text_body  = "Hello " . $row["full_name"] . ", \n\n";       $text_body .= "Your personal photograph to this message.\n\n";       $text_body .= "Sincerely, \n";       $text_body .= "phpmailer List manager";         $mail->Body    = $body;       $mail->AltBody = $text_body;       $mail->AddAddress($row["email"], $row["full_name"]);       $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");         if(!$mail->Send())           echo "There has been a mail error sending to " . $row["email"] . "
";         // Clear all addresses and attachments for next loop       $mail->ClearAddresses();       $mail->ClearAttachments();   }     2. Extending phpmailerExtending classes with inheritance is one of the most powerful features of object-oriented programming. It allows you to make changes to the original class for your own personal use without hacking the original classes. Plus, it is very easy to do. I've provided an example:    Here's a class that extends the phpmailer class and sets the defaults for the particular site:  PHP include file: mail.inc.php  代码如下: require("class.phpmailer.php");     代码如下: class my_phpmailer extends phpmailer {       // Set default variables for all new objects       var $From     = "from@example.com";       var $FromName = "Mailer";       var $Host     = "smtp1.example.com;smtp2.example.com";       var $Mailer   = "smtp";                         // Alternative to IsSMTP()       var $WordWrap = 75;         // Replace the default error_handler       function error_handler($msg) {           print("My Site Error");           print("Description:");           printf("%s", $msg);           exit;       }         // Create an additional function       function do_something($something) {           // Place your new code here       }   }     Now here's a normal PHP page in the site, which will have all the defaults set above:  Normal PHP file: mail_test.php    代码如下: require("mail.inc.php");     // Instantiate your new class   $mail = new my_phpmailer;     // Now you only need to add the necessary stuff   $mail->AddAddress("josh@example.com", "Josh Adams");   $mail->Subject = "Here is the subject";   $mail->Body    = "This is the message body";   $mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip");  // optional name     if(!$mail->Send())   {      echo "There was an error sending the message";      exit;   }     echo "Message was sent successfully";     4. 使用PEAR::Net_SMTP组件    PEAR真是个好东西,可能非常多人都不怎么用,至少我目前使用他的DB类,发送邮件类都不错。    需要Net_SMTP类,能去 http://pear.php.net 下载,Net_SMTP类的使用手册:    http://pear.php.net/manual/en/package.networking.net-smtp.php    我使用上面几个类,这个是最佳的,不管是速度还是别的,不过操作涉及到一些简单的smtp协议。    我的使用代码:    代码如下: //------------------------------------------     require_once 'Net/SMTP.php'; //加载类库        $subject = "测试邮件";     $uid = $_POST['uid']; //from信息   $content = "

".$u_email         ." 你好!

谢谢,本邮件测试!
"; //内容信息     $u_email = "hren@yahoo.com.cn"; //发送到的邮箱     $smtp = new Net_SMTP('192.168.0.1'); //smtp服务器   $smtp->connect(); //连接服务器   $smtp->helo('unixsky.net'); //发送HELO信息给服务器   $smtp->mailFrom('hren@unixsky.net'); //发件人地址   $smtp->rcptTo($u_email); //收件人地址   $date = date('r'); //获取发信日期   $smtp->data("Date: $date\r\nFrom: vdddote@eyou.net\r\nTo: $u_email\r\nSubject: $subject\r\nContent-Type: text/html; charset=\"gb2312\"\r\n\r\n$content\r\n"); //添加发送数据并且发送   $smtp->disconnect(); //关闭连接  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/727575.htmlTechArticle这篇文章主要介绍了php多种形式发送邮件的方法,包括使用mail()函数、使用管道的形式、使用phpmailer类等方法,大家参考使用吧 1. 使用 m...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号