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

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

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

文件下载

function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "")
{
$mail_from = $this->get_address($this->strip_comment($from));
$body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body);
$header = "MIME-Version:1.0\r\n"; if($mailtype=="HTML"){
$header .= "Content-Type:text/html\r\n";
} $header .= "To: ".$to."\r\n"; if ($cc != "") {
$header .= "Cc: ".$cc."\r\n";
} $header .= "From: 报名邮件.<".$from.">\r\n";
$header .= "Subject: ".$subject."\r\n";
$header .= $additional_headers;
$header .= "Date: ".date("r")."\r\n";
$header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n";
$utfheader=iconv("UTF-8","GB2312",$header);
list($msec, $sec) = explode(" ", microtime()); $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*).".".$mail_from.">\r\n"; $TO = explode(",", $this->strip_comment($to)); if ($cc != "") {
$TO = array_merge($TO, explode(",", $this->strip_comment($cc)));
} if ($bcc != "") {
$TO = array_merge($TO, explode(",", $this->strip_comment($bcc)));
} $sent = TRUE; foreach ($TO as $rcpt_to) {
$rcpt_to = $this->get_address($rcpt_to); if (!$this->smtp_sockopen($rcpt_to)) {
$this->log_write("Error: Cannot send email to ".$rcpt_to."\n");
$sent = FALSE;
continue;
} if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $utfheader, $body)) {
$this->log_write("E-mail has been sent to <".$rcpt_to.">\n");
} else {
$this->log_write("Error: Cannot send email to <".$rcpt_to.">\n");
$sent = FALSE;
} fclose($this->sock); $this->log_write("Disconnected from remote host\n");
}
return $sent;
}

再看示例

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

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

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

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

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

有问题可以留言。

最新文章

  1. 单例模式-C++
  2. 【BZOJ-3910】火车 倍增LCA + 并查集
  3. maven pom.xml 说明
  4. 用JavaBean实现数据库的连接和关闭,在jsp页面输出数据库中student表中学生的信息
  5. SSH(2)
  6. memcached简介(转)
  7. zoj1076 Gene Assembly
  8. Tomcat在Linux上安装
  9. chrome浏览器如何在本地安装谷歌访问助手教程
  10. Hololens生成与安装(旁加载)应用
  11. PHP编码规范建议学习
  12. mysql基于binlog回滚工具_flashback(python版本)
  13. mysql安装教程以及配置快捷方式
  14. 【BZOJ2005】【NOI2010】能量采集(莫比乌斯反演,容斥原理)
  15. how tomcat works 五 servlet容器 上
  16. CSS3之实现光润效果
  17. Feature Extractor[SENet]
  18. jsp页面中比较“接收数据”与“页面循环数据”是否相等
  19. MySQL数值类型
  20. shell参数扩展

热门文章

  1. FlowPlayer 参数说明
  2. 模拟键盘输入首先要用到一个API函数:keybd_event
  3. ASP.NET常用技术之Cookie
  4. web前端开发框架搜集
  5. GetMenu返回0解决方法
  6. java中值得类型转化
  7. java中enum类型的使用
  8. HDU_2048——全错位排列递推公式
  9. chk cloud
  10. 广州Uber优步司机奖励政策(12月28日到1月3日)