<?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
27 Dec 2023
Recommendation and comparison of Java email sending libraries: Choose the email sending tool that suits you, you need specific code examples Summary: When developing Java applications, we often need to send emails. This article will introduce several commonly used Java email sending libraries and compare them to help you choose the email sending tool suitable for your project. In addition, this article will provide specific code examples so that readers can better understand how to use these libraries. 1. JavaMailAPIJavaMailAPI is a Java platform
28 Jul 2016
: PHP mail sending class: Mail sending class obtained from ThinkPHP, collect it
24 May 2023
With the development of Internet technology, email is becoming more and more important in people's daily life and work. In website development, sending emails is a common need, and PHP, as a popular programming language, provides many email sending techniques to meet the needs of developers. This article will introduce email sending techniques in PHP, including email protocols, email libraries, email templates, etc., to help developers better understand and use PHP to send emails. Email Protocol Before sending email, we need to understand some basic knowledge of email protocol. S
18 Nov 2023
In-depth explanation of PHP email parsing and sending functions: Email parsing and sending skills of imap_open, imap_search, mail and other functions, which require specific code examples. Introduction: With the popularity of email, using PHP to parse and send emails has become a common requirement in network development. . This article will introduce in detail several commonly used email parsing and sending functions in PHP: imap_open, imap_search and mail. By understanding the usage techniques and specific code examples of these functions, readers can
21 Jul 2016
PHP class Full-featured class for sending emails. Copy the code as follows: ?php class Email { //---Set global variable var $mailTo = ""; // Recipient var $mailCC = ""; // Cc var $mailBCC = ""; // Secret CC var $mailFrom =
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