search
HomePHP LibrariesOther librariesphp class for sending email
php class for sending email
<?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=很遗憾,邮件发送失败了!请检查邮件账户配置是否正确!"); }
  }
}
?>

This is a php class for sending emails. Friends who need it can download it and use it.

Instructions for use:

$m= new SendM('smtp server address', 'account', 'password', port (int), timeout retry time (int));

$m->Send('Recipient Email', 'Subject', 'Mail text');

Usage example:

$m= new SendM ('smtp.yeah.net','testuser','testuserpwd',25,30);

$m->Send('a@coolmr.com ','Test Email','This This is a test email for sending emails. Thank you for your support');

Disclaimer

All resources on this site are contributed by netizens or reprinted by major download sites. Please check the integrity of the software yourself! All resources on this site are for learning reference only. Please do not use them for commercial purposes. Otherwise, you will be responsible for all consequences! If there is any infringement, please contact us to delete it. Contact information: admin@php.cn

Related Article

How do I use phpStudy to test email sending from PHP?How do I use phpStudy to test email sending from PHP?

17Mar2025

The article explains how to use phpStudy for testing PHP email sending, detailing installation, configuration, and script examples. It discusses SMTP, Sendmail, and third-party libraries like PHPMailer.

CI framework simple email sending class example, ci framework email sending_PHP tutorialCI framework simple email sending class example, ci framework email sending_PHP tutorial

12Jul2016

CI framework simple email sending class instance, ci framework email sending. CI framework simple email sending class example, ci framework email sending This article describes the CI framework simple email sending class example. Share it with everyone for your reference, the details are as follows: The ci framework is definitely ph

What are some very useful class libraries or tool libraries for PHP?What are some very useful class libraries or tool libraries for PHP?

06Jul2016

What are some very useful class libraries or tool libraries for PHP?

Why Not Rely on PHP\'s mail() Function for Email Sending?Why Not Rely on PHP\'s mail() Function for Email Sending?

21Oct2024

PHP's mail() function poses several issues, including incorrect header formatting, reliance on sendmail, SMTP restrictions, and potential email deliverability problems. These flaws hinder reliable email communication, as messages may not reach intend

CodeIgniter's method of sending emails based on the Email class, codeigniteremail_PHP tutorialCodeIgniter's method of sending emails based on the Email class, codeigniteremail_PHP tutorial

12Jul2016

CodeIgniter is based on the Email class method of sending emails, codeigniteremail. CodeIgniter's method of sending emails based on the Email class, codeigniteremail This article describes the example of CodeIgniter's method of sending emails based on the Email class. Share it with everyone for your reference, the details are as follows: C

PHP Master | Sending Email with Swift MailerPHP Master | Sending Email with Swift Mailer

25Feb2025

Key Takeaways Swift Mailer is a powerful, component-based library that allows programmers to send emails easily using an object-oriented approach, with minimal requirements of PHP 5.2 or higher with the SPL extension and a minimum memory limit of

See all articles