<?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=很遗憾,邮件发送失败了!请检查邮件账户配置是否正确!"); } } } ?>
Il s'agit d'une classe PHP pour envoyer des e-mails. Les amis qui en ont besoin peuvent la télécharger et l'utiliser.
Instructions d'utilisation :
$m= new SendM('adresse du serveur smtp', 'compte', 'mot de passe', port (int), délai de nouvelle tentative (int));
$m->Send( 'E-mail du destinataire', 'Objet', 'Contenu de l'e-mail');
Exemple d'utilisation :
$m= new SendM('smtp.yeah.net','testuser','testuserpwd',25,30 );
$m->Send('a@coolmr.com ','E-mail de test','Ceci est un e-mail de test pour l'envoi d'e-mails, merci pour votre soutien');
Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn
Article connexe
18Oct2024
PhpMailer vs SwiftMailer : une comparaison de bibliothèques Choisir la bonne bibliothèque PHP pour envoyer des e-mails avec pièces jointes peut faire gagner un temps et des efforts précieux aux développeurs. Deux options populaires incluent PhpMailer et SwiftMailer. Choisir entre eux peut être un défi
13Nov2024
Comment envoyer des e-mails HTML à l'aide de PHP MailPour envoyer des e-mails HTML à l'aide de la fonction PHP mail(), il est nécessaire de modifier les en-têtes des e-mails et...
21Oct2024
Classe BigInteger en PHP PHP inclut-il une classe BigInteger pour gérer les grands entiers ? Si oui, comment y accéder et l'utiliser ?Réponse :Bien que PHP n'inclut pas nativement de classe BigInteger, des bibliothèques externes peuvent fournir cette fonctionnalité. Deux remarques
10Dec2024
Transmission de fichiers aux utilisateurs via PHP ScriptLes scripts PHP offrent la possibilité d'envoyer des fichiers aux utilisateurs sur demande. Lorsque vous rencontrez un scénario où...
28Nov2024
Envoi de variables JavaScript aux variables PHP Dans le développement Web, PHP fonctionne côté serveur tandis que JavaScript s'exécute côté client. Direct...
18Dec2024
Envoi d'e-mails avec PHP via l'authentification SMTPEn PHP, l'envoi d'e-mails via un serveur SMTP nécessite des configurations spécifiques pour authentifier le...
Hot Tools
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Une collection de 50 excellents algorithmes PHP classiques
Algorithme PHP classique, apprenez d'excellentes idées et élargissez votre réflexion
Petite bibliothèque PHP pour optimiser les images
Petite bibliothèque PHP pour optimiser les images