更多>
最新下载
24小时阅读排行榜
- 1 javascript正则表达式怎么写_它如何进行模式匹配?
- 2 css样式层级太深不好维护怎么办_通过组合选择器减少嵌套层级
- 3 如何实现Golang定时邮件通知系统_Golang邮件发送流程与任务触发设计
- 4 自然语言处理从零到精通模型部署的实践方法【教程】
- 5 html5证书怎么查_html5用SSL证书工具查站点HTTPS证书有效性【查询】
- 6 如何在Golang中处理类型转换错误_安全转换和错误判断
- 7 javascript严格模式如何启用_它限制了哪些不安全操作?
- 8 css图标颜色hover变化不明显怎么办_配合transition强化反馈
- 9 eclipse运行html怎么找不到_解eclipse运行html找不到文件问题【技巧】
- 10 如何使用Golang创建临时文件_Golangos CreateTemp临时文件使用说明
- 11 javascript如何实现路由_单页应用是怎样管理页面状态的
- 12 如何在Golang中处理指针与结构体组合_优化大对象传递效率
- 13 Laravel如何与Pusher实现实时通信?(WebSocket示例)
- 14 php怎么取多维数组的某个值_PHP获取多维数组的特定值
- 15 京东html5如何布局_解析京东H5页面布局结构与技巧【布局】
更多>
最新教程
-
- Node.js 教程
- 14227 2025-08-28
-
- CSS3 教程
- 1540955 2025-08-27
-
- Rust 教程
- 21931 2025-08-27
-
- Vue 教程
- 24426 2025-08-22
-
- PostgreSQL 教程
- 21131 2025-08-21
-
- Git 教程
- 8329 2025-08-21
下载首页 / 类库下载 / 其它类库
<?php
class SendM{
private $Mailhost,$Mailuser,$Mailpwd,$Mailport,$Mailtimeout,$ms,$ending = "\r\n",$endingc="\n";
function __construct($Mailhost,$Mailuser,$Mailpwd,$Mailport,$Mailtimeout){
$this->Mailhost=$Mailhost;
$this->Mailuser=$Mailuser;
$this->Mailpwd=$Mailpwd;
$this->Mailport=$Mailport;
$this->Mailtimeout=$Mailtimeout;
$this->ConnectSmtpServer();
}
private function ConnectSmtpServer(){
if(!is_string($this->Mailhost)){ settype(trim($this->Mailhost),"string"); }
if(!is_integer($this->Mailport)){ settype(trim($this->Mailport),"integer"); }
if(!is_integer($this->Mailtimeout)){ settype(trim($this->Mailtimeout),"integer"); }
$this->ms=@fsockopen($this->Mailhost,$this->Mailport,$this->errorno,$this->errorstr,$this->Mailtimeout);
if(substr(PHP_OS,0,3) != "WIN"){ stream_set_timeout($this->ms, $this->Mailtimeout, 0);}
$rcp = $this->get_echo();
fputs($this->ms,"ehlo bobo".$this->ending);
$rcp = $this->get_echo();
if(substr($rcp,0,3)!='250'){ return false; }
fputs($this->ms,'auth login'.$this->ending);
$rcp = $this->get_echo();
if(substr($rcp,0,3)=='334'){ $this->Auth($this->Mailuser,$this->Mailpwd); }else{ return false; } }
private function Auth($Mailuser,$Mailpwd){
$this->Mailuseren=base64_encode($Mailuser); $this->Mailpwden=base64_encode($Mailpwd);
fputs($this->ms,$this->Mailuseren.$this->ending);
$rcp = $this->get_echo();
fputs($this->ms,$this->Mailpwden.$this->ending);
$rcp = $this->get_echo(); }
private function get_echo(){
$edata=""; while($estr=@fgets($this->ms,600)){ $edata .= $estr;
if(substr($estr,3,1) == " ") { break; } }
return $edata; }
public function Send($to,$subject,$connect){
$host=explode('.',$this->Mailhost);
$fromaddress=$this->Mailuser.'@'.$host[1].'.'.$host[2];
fputs($this->ms,'mail from:<'.$fromaddress.'>'.$this->ending);
$rcp = $this->get_echo();
fputs($this->ms,'rcpt to:<'.$to.'>'.$this->ending);
$rcp = $this->get_echo();
fputs($this->ms,'data'.$this->ending);
$rcp = $this->get_echo();
fputs($this->ms,"to:$to".$this->endingc);
fputs($this->ms,"from:$fromaddress".$this->endingc);
fputs($this->ms,"subject:$subject".$this->endingc.$this->endingc);
fputs($this->ms,"$connect".$this->endingc);
fputs($this->ms,'.'.$this->ending);
$rcp = $this->get_echo(); if(substr($rcp,0,3)=='250'){header("Location:main_pro.php?act=msg&errors=on&msg=邮件发送成功!已成功提交至对方服务器!"); }else{ header("Location:main_pro.php?act=msg&errors=on&msg=很遗憾,邮件发送失败了!请检查邮件账户配置是否正确!"); }
}
}
?>这是一个发送电子邮件的php类,需要的朋友可以下载使用。
使用说明:
$m= new SendM('smtp服务器地址','账号','密码',端口(int),超时重试时间(int));
$m->Send('收件人邮箱 ','主题','邮件正文内容');
使用范例:
$m= new SendM('smtp.yeah.net','testuser','testuserpwd',25,30);
$m->Send('a@coolmr.com ','测试邮件','这是一封邮件发送类的测试邮件,谢谢您的支持');
本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn
