<?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
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
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?](https://img.php.cn/upload/article/001/246/273/172951827186846.jpg)
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
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?](https://img.php.cn/upload/article/001/246/273/172925367162114.jpg)
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?](https://img.php.cn/upload/article/001/246/273/173386459482996.jpg)
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...
![](/static/imghw/down_right.png)
![](/static/imghw/taglogo.png)
Hot Tools
![PHP library for dependency injection containers](https://img.php.cn/upload/manual/000/000/001/5e2171bf3c005481.png)
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
![](/static/imghw/taglogo.png)