<?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=郵件發(fā)送成功!已成功提交至對(duì)方服務(wù)器!"); }else{ header("Location:main_pro.php?act=msg&errors=on&msg=很遺憾,郵件發(fā)送失敗了!請(qǐng)檢查郵件賬戶配置是否正確!"); } } } ?>
??? ???? ?? PHP ??????. ??? ???? ?????? ??? ? ????.
?? ??:
$m= new SendM('smtp ?? ??', '??', '????', ??(int), ?? ?? ??? ??(int))
$m->Send( '?? ??? ???','??','??? ??');
?? ?:
$m= new SendM('smtp.yeah.net','testuser','testuserpwd',25,30 );
$m->Send('a@coolmr.com','??? ???','??? ??? ?? ??? ??????. ??? ??? ?????.');
? ???? ?? ???? ???? ????? ?? ???? ????? ????????. ?????? ???? ?? ??????! ? ???? ?? ???? ?? ?????? ?????. ??? ???? ???? ??? ????. ??? ??? ?? ??? ?? ??? ???? ????! ??? ?? ?? ??? ???? ????? ????. ???: admin@php.cn
?? ??

10 Nov 2024
PHP? ?? ??? ??: ??? ?? ???? ?? ??? ??? ???? ?? ??? ??? ???? ?? ?????.

06 Aug 2025
? ??? PHP ?? ??? ???? PHPMailer ?????? ???? ?? ????? ???? ??? ??? ???? ??? ?????. phpmailer? addaddress ??? ??? ?? ? ?? ??? ???? ?? ??? ?? ???? ???? ??? ?? ????,? ??? preg_split ??? ??? ? ??? ?? ??? ?? ???? ??? ?? ???? ??? ???? ?? ??? ??? ?????. ??, ??? ?? ?? ? ?? ??? ???? ??? ??? ???? ???? ???? ????? ???? ???? ???? ?????.

23 Nov 2024
???? PHP?? ???? HTML? ?? ???? ????? ?? ? ???? ?? HTML ???? ?? ???? ???? ??...

17 Nov 2024
PHP ??? ?? ?? ????? Inquiry??? ?? ??? ??? ???? ???? ? ??????. ??? ??? ???? ??...

28 Oct 2024
Gmail? ?? PHP Swiftmailer ???? PHP Swiftmailer? ???? Gmail? ?? ???? ???? ?? ??? ??? ?? ??? ??? ? ????.

26 Mar 2025
? ??? & lt; thread & gt; ???, ?? ? ??? ?? ??. ?? ??? ??????? ?? ??? ???? ??? ?????.


??? ??

??? ?? ????? PHP ?????
??? ?? ????? PHP ?????

50?? ??? ??? PHP ???? ??
??? PHP ????, ??? ????? ??? ???? ?????

??? ???? ?? ?? PHP ?????
??? ???? ?? ?? PHP ?????
