首页 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

相关文章

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

24 Nov 2017

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

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

07 Nov 2024

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

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

26 Jan 2025

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

在 Nuxt 中发送电子邮件 我如何在 SaaS 样板中处理电子邮件 在 Nuxt 中发送电子邮件 我如何在 SaaS 样板中处理电子邮件

01 Dec 2024

如果您要在 Nuxt 3 中构建任何重要的东西,您将需要发送电子邮件。 这是我的设置,可让您在 Resend、SendGrid 或任何其他提供程序之间切换,而无需重写代码。 设置 AdonisJS Mail(我让它在 Adoni 之外工作

如何使用 PHP 发送电子邮件? 如何使用 PHP 发送电子邮件?

20 Dec 2024

使用 PHP 发送电子邮件:综合指南将电子邮件功能集成到基于 PHP 的网站中是有效...的关键任务

如何使用库发送带有嵌入图像的 HTML 电子邮件? 如何使用库发送带有嵌入图像的 HTML 电子邮件?

22 Oct 2024

本文提供了有关使用 PHPMailer 库在 HTML 电子邮件中嵌入图像的综合指南。它讨论了将嵌入图像合并到 HTML 代码中的语法,使它们可以通过内容 ID (CID) 进行访问。 PHPMailer的功能

See all articles