Maison php教程 PHP源码 三种php发送邮件实例程序

三种php发送邮件实例程序

Jun 08, 2016 pm 05:27 PM
array error quot smtp

我们利用了三种php发送邮件实例程序哦,下面一个个来实例各种发送的发送邮件哦。

<script>ec(2);</script>

if(send_mail('test@qq.com','邮件主题','邮件内容')==""){
echo "发送成功!
";
} else{
echo "发送失败!
";
}

$to = "test@test.com";
$subject = "Test Subject";
$message = "This is the test email.";
$from = "youremail@yourdomain.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
?>

  function send_mail($to, $subject = 'No subject', $body) {
$loc_host = "im286"; //发信计算机名,可随意
$smtp_acc = "test@126.com"; //Smtp认证的用户名
$smtp_pass="******"; //Smtp认证的密码,一般等同pop3密码
$smtp_host="smtp.126.com"; //SMTP服务器地址,类似 smtp.tom.com
$from="test@126.com"; //发信人Email地址,你的发信信箱地址
$headers = "Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64";
$lb=" "; //linebreak

$hdr=explode($lb,$headers); //解析后的hdr
if($body){$bdy = preg_replace("/^./","..",explode($lb,$body));}//解析后的Body

$smtp = array(
//1、EHLO,期待返回220或者250
array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
//2、发送Auth Login,期待返回334
array("AUTH LOGIN".$lb,"334","AUTH error:"),
//3、发送经过Base64编码的用户名,期待返回334
array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
//4、发送经过Base64编码的密码,期待返回235
array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
//5、发送Mail From,期待返回250
$smtp[] = array("MAIL FROM: ".$lb,"250","MAIL FROM error: ");
//6、发送Rcpt To。期待返回250
$smtp[] = array("RCPT TO: ".$lb,"250","RCPT TO error: ");
//7、发送DATA,期待返回354
$smtp[] = array("DATA".$lb,"354","DATA error: ");
//8.0、发送From
$smtp[] = array("From: ".$from.$lb,"","");
//8.2、发送To
$smtp[] = array("To: ".$to.$lb,"","");
//8.1、发送标题
$smtp[] = array("Subject: ".$subject.$lb,"","");
//8.3、发送其他Header内容
foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
//8.4、发送一个空行,结束Header发送
$smtp[] = array($lb,"","");
//8.5、发送信件主体
if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb,"","");}}
//9、发送“.”表示信件结束,期待返回250
$smtp[] = array(".".$lb,"250","DATA(end)error: ");
//10、发送Quit,退出,期待返回221
$smtp[] = array("QUIT".$lb,"221","QUIT error: ");

//打开smtp服务器端口
$fp=@fsockopen($smtp_host, 25);
if(!$fp) echo "Error: Cannot conect to ".$smtp_host."
";
while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }}

$result_str="";
//发送smtp数组中的命令/数据
foreach($smtp as $req){
//发送信息
@fputs($fp, $req[0]);
//如果需要接收服务器返回信息,则
if($req[1]){
//接收信息
while($result = @fgets($fp, 1024)){
if(substr($result,3,1) == " ") { break; }
};
if (!strstr($req[1],substr($result,0,3))){
$result_str.=$req[2].$result."
";
}
}
}
//关闭连接
@fclose($fp);
return $result_str;
}
?>

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution à l'erreur fatale PHP : appel à la méthode non définie PDO::prepare() dans Solution à l'erreur fatale PHP : appel à la méthode non définie PDO::prepare() dans Jun 22, 2023 pm 06:40 PM

PHP est un langage de développement Web populaire utilisé depuis longtemps. La classe PDO (PHP Data Object) intégrée à PHP est un moyen courant pour nous d'interagir avec la base de données lors du développement d'applications Web. Cependant, un problème que certains développeurs PHP rencontrent souvent est que lorsqu'ils utilisent la classe PDO pour interagir avec la base de données, ils reçoivent une erreur comme celle-ci : PHPFatalerror:CalltoundefinedmethodPDO::prep

Que dois-je faire si « Erreur non interceptée (promise) : échec de la demande avec le code d'état 500 » se produit lors de l'utilisation d'axios dans une application Vue ? Que dois-je faire si « Erreur non interceptée (promise) : échec de la demande avec le code d'état 500 » se produit lors de l'utilisation d'axios dans une application Vue ? Jun 24, 2023 pm 05:33 PM

Il est très courant d'utiliser axios dans les applications Vue. axios est un client HTTP basé sur Promise qui peut être utilisé dans les navigateurs et Node.js. Pendant le processus de développement, le message d'erreur « Uncaught(inpromise)Error : Requestfailedwithstatuscode500 » apparaît parfois pour les développeurs, ce message d'erreur peut être difficile à comprendre et à résoudre. Cet article explorera ceci

Résoudre le problème de « erreur : le type incomplet n'est pas autorisé » dans le code C++ Résoudre le problème de « erreur : le type incomplet n'est pas autorisé » dans le code C++ Aug 26, 2023 pm 08:54 PM

Résolvez le problème « erreur : type incomplet n'est pas autorisé » dans le code C++. Au cours du processus de programmation C++, vous rencontrez parfois des erreurs de compilation. L'une des erreurs courantes est « erreur : type incomplet n'est pas autorisé ». Cette erreur est généralement provoquée par une opération sur un type incomplet. Cet article expliquera la cause de cette erreur et proposera plusieurs solutions. Tout d'abord, je

0271 : Que dois-je faire si l'ordinateur ne peut pas être allumé en raison d'une erreur d'horloge en temps réel ? 0271 : Que dois-je faire si l'ordinateur ne peut pas être allumé en raison d'une erreur d'horloge en temps réel ? Mar 13, 2023 am 11:30 AM

Solution à « 0271 : erreur d'horloge en temps réel » qui ne peut pas démarrer : 1. Appuyez sur F1 et dans l'interface qui apparaît, déplacez la barre d'options jusqu'au troisième élément « Date/Heure » 2. Modifiez manuellement l'heure du système à l'heure actuelle ; une fois ; 3. Appuyez sur F10 et sélectionnez oui dans la boîte de dialogue contextuelle ; 4. Rouvrez le portable pour démarrer normalement.

Résoudre le problème « erreur : initialiseur attendu avant le type de données » dans le code C++ Résoudre le problème « erreur : initialiseur attendu avant le type de données » dans le code C++ Aug 25, 2023 pm 01:24 PM

Résolvez le problème « erreur : initialiseur attendu avant le type de données » dans le code C++. Dans la programmation C++, nous rencontrons parfois des erreurs de compilation lors de l'écriture du code. L'une des erreurs courantes est « erreur : initialiseur attendu avant le type de données ». Cette erreur se produit généralement dans une déclaration de variable ou une définition de fonction et peut empêcher le programme de se compiler correctement ou

Comment résoudre PHP Avertissement : fopen() : échec d'ouverture du flux : aucun fichier ou répertoire de ce type Comment résoudre PHP Avertissement : fopen() : échec d'ouverture du flux : aucun fichier ou répertoire de ce type Aug 19, 2023 am 10:44 AM

Comment résoudre PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory Dans le processus d'utilisation du développement PHP, nous rencontrons souvent des problèmes de fonctionnement des fichiers, dont "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"

Solution à l'erreur fatale PHP : appel à la fonction non définie mysqli_connect() Solution à l'erreur fatale PHP : appel à la fonction non définie mysqli_connect() Jun 23, 2023 am 09:40 AM

Lors de l'écriture d'applications Web à l'aide de PHP, une base de données MySQL est souvent utilisée pour stocker les données. PHP fournit un moyen d'interagir avec la base de données MySQL appelé MySQLi. Cependant, parfois lors de l'utilisation de MySQLi, vous rencontrerez un message d'erreur, comme indiqué ci-dessous : PHPFatalerror:Calltoundefinedfunctionmysqli_connect() Ce message d'erreur signifie que PHP ne peut pas trouver mon

Solution à l'erreur fatale PHP : appel à une fonction membre fetch() Solution à l'erreur fatale PHP : appel à une fonction membre fetch() Jun 23, 2023 am 09:36 AM

Lorsque vous utilisez PHP pour le développement d’applications Web, vous devrez souvent utiliser une base de données. Lors de l'utilisation d'une base de données, les messages d'erreur sont très courants. Parmi eux, PHPFatalerror : Calltoamemberfunctionfetch() est une erreur relativement courante qui se produit lors de l'utilisation de PDO pour interroger la base de données. Alors, quelle est la cause de cette erreur et comment la résoudre ? Cet article vous l’expliquera en détail. 1. Cause de l'erreur

See all articles