<?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');
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

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.

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

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

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

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

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


Hot Tools

PHP library for dependency injection containers
PHP library for dependency injection containers

A collection of 50 excellent classic PHP algorithms
Classic PHP algorithm, learn excellent ideas and expand your thinking

Small PHP library for optimizing images
Small PHP library for optimizing images
