<?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=很遗憾,邮件发送失败了!请检查邮件账户配置是否正确!"); } } } ?>
Ini adalah kelas php untuk menghantar e-mel Rakan-rakan yang memerlukannya boleh memuat turun dan menggunakannya.
Arahan penggunaan:
$m= SendM baru('alamat pelayan smtp', 'akaun', 'kata laluan', port (int), masa percubaan semula tamat masa (int)
$m->Hantar( 'E-mel penerima', 'Subjek', 'Kandungan e-mel');
Contoh penggunaan:
$m= new SendM('smtp.yeah.net','testuser','testuserpwd',25,30 );
$m->Send('a@coolmr.com ','E-mel ujian','Ini ialah e-mel ujian untuk menghantar e-mel, terima kasih atas sokongan anda');
Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn
Artikel Berkaitan
22 Nov 2024
Cara Menghantar E-mel HTML dengan Fungsi Mel PHPApabila menghantar e-mel menggunakan fungsi mel PHP, pengguna mungkin menghadapi masalah memaparkan kandungan HTML...
13 Nov 2024
Menghantar E-mel HTML dengan PHP MailQuestion:Pengguna memerlukan bantuan menghantar e-mel HTML menggunakan fungsi mel() PHP. Walaupun menetapkan...
21 Oct 2024
Fungsi mail() PHP menimbulkan beberapa isu, termasuk pemformatan pengepala yang salah, pergantungan pada sendmail, sekatan SMTP dan masalah kebolehhantaran e-mel yang berpotensi. Kelemahan ini menghalang komunikasi e-mel yang boleh dipercayai, kerana mesej mungkin tidak sampai ke niat
26 Nov 2024
Menghantar E-mel HTML dengan mel PHPAnda menghadapi kesukaran untuk memaparkan kandungan HTML dalam badan e-mel yang dihantar menggunakan fungsi mel()....
20 Dec 2024
Menghantar E-mel UTF-8 dengan PHPMenghantar e-mel dengan aksara bukan bahasa Inggeris boleh menyebabkan teks bercelaru atau tiada. Isu ini berlaku apabila e-mel...
16 Nov 2024
Adakah PHP Menawarkan Perpustakaan Pengesahan Alamat E-mel? Mengesahkan alamat e-mel adalah tugas yang membosankan yang memerlukan pematuhan kepada piawaian yang rumit. Untuk...
Hot Tools
Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan
Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda
Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej