首页 PHP 库 其它类库 发送电子邮件的php类
发送电子邮件的php类
<?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

相关文章

发送带有PHP的电子邮件 发送带有PHP的电子邮件

02 Mar 2025

核心要点 PHP 提供了一种简单有效的方法来发送电子邮件,包括基本的纯文本邮件、HTML 邮件和带有附件的邮件。 PHP 的 mail() 函数用于发送电子邮件。对于简单的邮件,它只需要三个参数:收件人的地址、主题和邮件正文。 发送 HTML 邮件或带有附件的邮件时,需要使用 MIME 标准将邮件分解成多个部分,并用选定的边界分隔。每个部分都应定义内容是什么、如何编码、可能的内容处置方式,以及内容本身。 使用 PHPMailer 库可以增强 PHP 发送邮件的功能,该库允许连接 SMTP 服务

与phpmailer一起发送PHP中的电子邮件 与phpmailer一起发送PHP中的电子邮件

08 Feb 2025

PHPMailer:PHP邮件发送的利器 PHPMailer是广受欢迎的开源PHP邮件发送库,自2001年发布以来,一直是PHP开发者发送程序化邮件的首选方案之一,与Swiftmailer等其他流行库并驾齐驱。本文将阐述为何PHPMailer优于PHP内置的mail()函数,并提供代码示例。 核心要点 PHPMailer是一个流行的开源PHP邮件发送库,比PHP内置的mail()函数提供更多功能和灵活性,包括面向对象的接口、更轻松的HTML和附件处理,以及使用非本地邮件服务器的能力。 PHP

ThinkPHP使用PHPMailer发送邮件的例子 ThinkPHP使用PHPMailer发送邮件的例子

24 Nov 2017

相信很多同学都用过thinkphp,而thinkphp这个框架本身也有类库,这篇文章我们来讲讲thinkphp怎么使用外部PHPMailer类库。

PHP主|与Swift Mailer一起发送电子邮件 PHP主|与Swift Mailer一起发送电子邮件

25 Feb 2025

关键要点 Swift Mailer是一个功能强大的,基于组件的库,允许程序员使用面向对象的方法轻松发送电子邮件,其要求最小为5.2或更高,具有SPL扩展名,最小内存限制为

自动发送电子邮件 自动发送电子邮件

07 Nov 2024

?很高兴分享我的项目——自动电子邮件发送系统? 我开发了一种工具,通过处理从定制消息到大规模分发的所有内容,可以更快、更高效地发送电子邮件。 ?无论是用于营销、提醒还是

电子邮件发送服务 电子邮件发送服务

26 Jan 2025

NPM 和 GitHub 集成:使用 Node.js 简化电子邮件发送 此 Node.js 应用程序使用 nodemailer 包简化了电子邮件发送。 以最少的配置享受无缝的电子邮件传送。 主要特点: 轻量且高度定制

See all articles