php 邮件发送如何进行的呢?

php邮件发送是通过smtp协议进行的。

下面是一个php邮件发送的类的一个函数。

文件下载

  1. function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "")
  2. {
  3. $mail_from = $this->get_address($this->strip_comment($from));
  4. $body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body);
  5. $header = "MIME-Version:1.0\r\n";
  6.  
  7. if($mailtype=="HTML"){
  8. $header .= "Content-Type:text/html\r\n";
  9. }
  10.  
  11. $header .= "To: ".$to."\r\n";
  12.  
  13. if ($cc != "") {
  14. $header .= "Cc: ".$cc."\r\n";
  15. }
  16.  
  17. $header .= "From: 报名邮件.<".$from.">\r\n";
  18. $header .= "Subject: ".$subject."\r\n";
  19. $header .= $additional_headers;
  20. $header .= "Date: ".date("r")."\r\n";
  21. $header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n";
  22. $utfheader=iconv("UTF-8","GB2312",$header);
  23. list($msec, $sec) = explode(" ", microtime());
  24.  
  25. $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*).".".$mail_from.">\r\n";
  26.  
  27. $TO = explode(",", $this->strip_comment($to));
  28.  
  29. if ($cc != "") {
  30. $TO = array_merge($TO, explode(",", $this->strip_comment($cc)));
  31. }
  32.  
  33. if ($bcc != "") {
  34. $TO = array_merge($TO, explode(",", $this->strip_comment($bcc)));
  35. }
  36.  
  37. $sent = TRUE;
  38.  
  39. foreach ($TO as $rcpt_to) {
  40. $rcpt_to = $this->get_address($rcpt_to);
  41.  
  42. if (!$this->smtp_sockopen($rcpt_to)) {
  43. $this->log_write("Error: Cannot send email to ".$rcpt_to."\n");
  44. $sent = FALSE;
  45. continue;
  46. }
  47.  
  48. if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $utfheader, $body)) {
  49. $this->log_write("E-mail has been sent to <".$rcpt_to.">\n");
  50. } else {
  51. $this->log_write("Error: Cannot send email to <".$rcpt_to.">\n");
  52. $sent = FALSE;
  53. }
  54.  
  55. fclose($this->sock);
  56.  
  57. $this->log_write("Disconnected from remote host\n");
  58. }
  59. return $sent;
  60. }

再看示例

  1. include("sendmail.php");//发送邮件类
  2. ####################--发邮件--####################
  3. $smtpserver = "smtp.126.com";//SMTP服务器
  4. $smtpserverport = 25;//SMTP服务器端口
  5. $smtpusermail = "test@126.com";//SMTP服务器的用户邮箱
  6. $smtpuser = "test";//SMTP服务器的用户帐号
  7. $smtppass = "123456";//SMTP服务器的用户密码
  8.  
  9. $smtpemailto = "dianzhong@126.com";//发送给谁
  10. $mailsubject = $username.'报名!';//邮件主题
  11. $mailtime = date("Y-m-d H:i:s");
  12. $mailbody = $content;//邮件内容
  13.  
  14. $utfmailbody = iconv("UTF-8","GB2312",$mailbody);//转换邮件编码
  15. $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件

在这里需要一个smtp服务器。我们可以注册一个126的邮箱。 在上面的代码中,修改成你自己注册的邮箱地址和用户名、密码即可。

这样就可以用php发邮件了。

我做了一个用php发邮件的例子。

下载后记得修改里面的邮箱用户名和密码哦。

有问题可以留言。

php 邮件发送代码-php邮件群发的更多相关文章

  1. c# 邮件发送代码分享

    /// <summary> /// 发送邮件方法 /// </summary> /// <param name="sendMail">发送人&l ...

  2. spring 5.x 系列第20篇 ——spring简单邮件、附件邮件、内嵌资源邮件、模板邮件发送 (代码配置方式)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.说明 1.1 项目结构说明 邮件发送配置类为com.heibaiyin ...

  3. SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方式

    往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静 ...

  4. 基于JavaMail的Java邮件发送:复杂邮件发送

    参考:http://blog.csdn.net/xietansheng/article/details/51722660package com.bfd.ftp.utils;import java.ut ...

  5. iOS开发之邮件发送代码

    邮件发送功能是由MessageUI Framework提供的,这个框架是iPhone sdk中最简单的框.由一个类.一个视图控制器,一个protocol组成. 一.创建视图控制器: MFMailCom ...

  6. 基于JavaMail的Java邮件发送:简单邮件发送

    使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) . 您可以从 Java 网 ...

  7. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         ...

  8. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

  9. .NET开发邮件发送功能

    .NET开发邮件发送功能 今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知 ...

随机推荐

  1. IBM X3650 服务器更换内存的过程记录

    前几天,由于天气气温太高,导致中心机房UPS自动保护性关闭,最终导致所有服务器都掉电.其中一台IBM X3650服务器报警,显示内存故障.原来这台服务器共有4G内存,现在打开服务器进入系统后,显示只有 ...

  2. pythond对象、异常、反射的学习笔记

    python多继承,刚开始我是表示惊讶的,毕竟学的php,哪来的多继承?顶多也就是利用接口模拟多继承后者使用反射机制实现.那么还是来看看python的强大吧 1 首先,Python的类继承了多个类,那 ...

  3. 高级应用与部署 —— 主程序与web目录分离

    在网站部署中,考虑网站的安全行问题,可以将您的网站主程序与web目录分离,使主程序在web目录之外,从而提高网站的安全性. 分离方法 1.将phpcms v9中程序主框架目录phpcms移动至web目 ...

  4. 猜数字-js

    var n = Math.round(Math.random()*10); //随机数 // alert(n); while(true){ var Onum = prompt('请输入1-10之间的数 ...

  5. CSS样式鼠标点击与经过的效果一样

    a:link /* 未访问的链接 */ a:visited /* 已访问的链接 */ a:hover /* 当有鼠标悬停在链接上 */ a:active /* 被选择的链接 */ a,a:visite ...

  6. Java内部类和外部类的通信探索

    1.内部类访问外部类的成员和方法 在内部类中,可以无障碍地访问外部类的所有成员和方法. 在下面的实验代码中,可以看到,内部类sl可以访问外部类的私有成员:sz 和 cur. 同时可以访问私有方法:pr ...

  7. 《python基础教程》笔记之 列表

    list函数 list函数将其他类型的序列转换为列表,如 >>> list("hello world")['h', 'e', 'l', 'l', 'o', ' ' ...

  8. fabric自动化部署django

    使用fabric部署django应用 使用fabric部署django应用 本文是我的网站易读中文网自动化部署的脚本实现,以下代码在ubuntu和debian中测试通过 由于网站使用的是python技 ...

  9. (摘)Zebra打印机异常处理

    一.一般条码打印设备按图指示方向,虚线为碳带安装路径,实线为标签路径.回卷后废碳带不易剥落,则在装入前用废标签的光滑底纸卷在回卷轴上,然后再上碳带.安装标签时,根据不同标签宽度调整限纸器.压头弹簧均匀 ...

  10. Ubuntu 下对ADT 添加别名(alias)

    1:~$ vim .bashrc 2:在打开的.bashrc文件中加入: alias adt='./adt-bundle-linux-x86-20130729/eclipse/eclipse' 3:保 ...