Home PHP Libraries Other libraries php 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

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

12 Jul 2016

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?

06 Jul 2016

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?

21 Oct 2024

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 tutorial CodeIgniter's method of sending emails based on the Email class, codeigniteremail_PHP tutorial

12 Jul 2016

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

PhpMailer vs. SwiftMailer: Which Email Sending Library is Right for You in PHP? PhpMailer vs. SwiftMailer: Which Email Sending Library is Right for You in PHP?

18 Oct 2024

PhpMailer vs. SwiftMailer: A Comparison for Email Sending in PHPWhen it comes to sending emails in PHP, two prominent options emerge: PhpMailer and SwiftMailer. While the question poses the dilemma, it's crucial to understand the nuances of each libr

How to Configure Gmail for Email Sending in Laravel Applications? How to Configure Gmail for Email Sending in Laravel Applications?

11 Dec 2024

How to Send Emails Using Gmail in Laravel: A Comprehensive GuideIn this tutorial, we will guide you through the process of sending emails using...

See all articles