经过STMP发邮件,这段代码错在哪
通过STMP发邮件,这段代码错在哪?
发不出邮件,也不返回错误提示。各位高手看看代码错在哪?
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php header( "content-type:text/html;charset=utf-8" ); $smtp = array( "url" => "smtp.gmail.com", "port" => "465", "username" => "", //用户名 "password" => "", //密码 "from" => "", //发件人e-mail "to" => "", //收件人e-mail "subject" => "测试一下标题", "body" => "测试一下内容" ); $CRLF = "\r\n"; $test = ""; $header = array( 'Return-path' => '', 'Date' => date( 'r' ), 'From' => '', 'MIME-Version' => '1.0', 'Subject' => inlineCode( $smtp['subject'] ), 'To' => $smtp['to'], 'Content-Type' => 'text/html; charset=UTF-8; format=flowed', 'Content-Transfer-Encoding' => 'base64' ); $data = buildHeader( $header ) . $CRLF . chunk_split( base64_encode( $smtp['body'] ) ); $content = "EHLO " . $smtp["url"] . $CRLF; // 先得hello一下 $content .= "AUTH LOGIN" . $CRLF . base64_encode( $smtp["username"] ) . $CRLF . base64_encode( $smtp["password"] ) . $CRLF; // 验证登陆 $content .= "MAIL FROM:" . $smtp["from"] . $CRLF; // 发件地址 $content .= "RCPT TO:" . $smtp["to"] . $CRLF; // 收件地址 $content .= "DATA" . $CRLF . $data . $CRLF . "." . $CRLF; // 发送内容 $content .= "QUIT" . $CRLF; // 退出 $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, $smtp['url'] ); curl_setopt( $curl, CURLOPT_PORT, $smtp['port'] ); curl_setopt( $curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; .NET CLR 3.0.4506.2152)' ); curl_setopt( $curl, CURLOPT_TIMEOUT, 10 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); // curl接收返回数据 curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $curl, CURLOPT_CUSTOMREQUEST, $content ); $test = curl_exec( $curl ); var_dump( $test ); curl_close( $curl ); function inlineCode( $str ) { $str = trim( $str ); return $str ? '=?UTF-8?B?' . base64_encode( $str ) . '?= ' : ''; } function buildHeader( $headers ) { $ret = ''; foreach( $headers as $k => $v ) { $ret .= $k . ': ' . $v . "\n"; } return $ret; } ?>
------解决方案--------------------
不知道是不是1楼所说的问题
只能提供一个我用的发邮件的php,楼主可以试试
- PHP code
<?php if($_SERVER["REQUEST_METHOD"]=="POST"){?> <?php //ok的邮箱发送。 include "smtp.class.php"; //$smtpserver = "SMTP.163.com"; //您的smtp服务器的地址 $smtpserver=""; $port =25; //smtp服务器的端口,一般是 25 //$smtpuser = ""; //您登录smtp服务器的用户名 //$smtppwd = ""; //您登录smtp服务器的密码 $mailtype = "HTML"; //邮件的类型,可选值是 TXT 或 HTML ,TXT 表示是纯文本的邮件,HTML 表示是 html格式的邮件 $sender = "{$email}"; //发件人,一般要与您登录smtp服务器的用户名($smtpuser)相同,否则可能会因为smtp服务器的设置导致发送失败 $smtp = new smtp($smtpserver,$port,false,$smtpuser,$smtppwd,$sender); //第三个值为false时,可匿名登录发送邮件,将$smtpuser、$smtppwd注释掉 //$smtp->debug = true; //是否开启调试,只在测试程序时使用,正式使用时请将此行注释 $to = "收件人的邮件地址"; //收件人 //准备使用的邮箱 $subject = "咨询"; $body=" 咨询人:{$firstname}.{$familyname}<br> 咨询人名字拼音:{$firstnamepy}.{$familynamepy}<br> 咨询人性别:{$sex}<br> 咨询种类:{$zixun1}<br> 咨询内容:{$zixun}<br> 公司名(法人):{$faren}<br> 联络地区:{$address}<br> 电话号码:{$phone}<br> 电子邮件:{$email}"; //<?php for($i=0;$i<count($zixun1);$i++) echo $zixun1[$i] $send=$smtp->sendmail($to,$sender,$subject,$body,$mailtype); ?> <div class="clear"> </div>

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

De nombreux utilisateurs choisiront la marque Huawei lors du choix des montres intelligentes. Parmi eux, les Huawei GT3pro et GT4 sont des choix très populaires. De nombreux utilisateurs sont curieux de connaître la différence entre Huawei GT3pro et GT4. Quelles sont les différences entre Huawei GT3pro et GT4 ? 1. Apparence GT4 : 46 mm et 41 mm, le matériau est un miroir en verre + un corps en acier inoxydable + une coque arrière en fibre haute résolution. GT3pro : 46,6 mm et 42,9 mm, le matériau est du verre saphir + corps en titane/corps en céramique + coque arrière en céramique 2. GT4 sain : en utilisant le dernier algorithme Huawei Truseen5.5+, les résultats seront plus précis. GT3pro : ajout d'un électrocardiogramme ECG, d'un vaisseau sanguin et de la sécurité

curl et Pythonrequests sont des outils puissants pour envoyer des requêtes HTTP. Alors que curl est un outil de ligne de commande qui vous permet d'envoyer des requêtes directement depuis le terminal, la bibliothèque de requêtes de Python fournit un moyen plus programmatique d'envoyer des requêtes à partir du code Python. La syntaxe de base pour convertir curl en commande Pythonrequestscurl est la suivante : curl[OPTIONS]URL Lors de la conversion de la commande curl en requête Python, nous devons convertir les options et l'URL en code Python. Voici un exemple de commande curlPOST : curl-XPOST https://example.com/api

Pour mettre à jour la version curl sous Linux, vous pouvez suivre les étapes ci-dessous : Vérifiez la version actuelle de curl : Tout d'abord, vous devez déterminer la version de curl installée dans le système actuel. Ouvrez un terminal et exécutez la commande suivante : curl --version Cette commande affichera les informations sur la version actuelle de curl. Confirmer la version curl disponible : Avant de mettre à jour curl, vous devez confirmer la dernière version disponible. Vous pouvez visiter le site officiel de curl (curl.haxx.se) ou des sources de logiciels associées pour trouver la dernière version de curl. Téléchargez le code source de curl : à l'aide de curl ou d'un navigateur, téléchargez le fichier de code source pour la version curl de votre choix (généralement .tar.gz ou .tar.bz2).

PHP8.1 publié : présentation de curl pour le traitement simultané de plusieurs requêtes. Récemment, PHP a officiellement publié la dernière version de PHP8.1, qui a introduit une fonctionnalité importante : curl pour le traitement simultané de plusieurs requêtes. Cette nouvelle fonctionnalité offre aux développeurs un moyen plus efficace et plus flexible de gérer plusieurs requêtes HTTP, améliorant ainsi considérablement les performances et l'expérience utilisateur. Dans les versions précédentes, la gestion de plusieurs requêtes nécessitait souvent de créer plusieurs ressources curl et d'utiliser des boucles pour envoyer et recevoir des données respectivement. Bien que cette méthode puisse atteindre l'objectif

Du début à la fin : Comment utiliser l'extension php cURL pour les requêtes HTTP Introduction : En développement web, il est souvent nécessaire de communiquer avec des API tierces ou d'autres serveurs distants. Utiliser cURL pour effectuer des requêtes HTTP est un moyen courant et puissant. Cet article expliquera comment utiliser PHP pour étendre cURL afin d'effectuer des requêtes HTTP et fournira quelques exemples de code pratiques. 1. Préparation Tout d'abord, assurez-vous que l'extension cURL est installée sur php. Vous pouvez exécuter php-m|grepcurl sur la ligne de commande pour vérifier

Comment gérer la redirection 301 des pages web dans PHPCurl ? Lorsque vous utilisez PHPCurl pour envoyer des requêtes réseau, vous rencontrerez souvent un code d'état 301 renvoyé par la page Web, indiquant que la page a été redirigée définitivement. Afin de gérer correctement cette situation, nous devons ajouter des options spécifiques et une logique de traitement à la requête Curl. Ce qui suit présentera en détail comment gérer la redirection 301 des pages Web dans PHPCurl et fournira des exemples de code spécifiques. Principe de traitement de la redirection 301 La redirection 301 signifie que le serveur renvoie un 30

Pourquoi l'outil Snipping ne fonctionne pas sous Windows 11 Comprendre la cause première du problème peut aider à trouver la bonne solution. Voici les principales raisons pour lesquelles l'outil de capture peut ne pas fonctionner correctement : L'assistant de mise au point est activé : cela empêche l'ouverture de l'outil de capture. Application corrompue : si l'outil de capture plante au lancement, il est peut-être corrompu. Pilotes graphiques obsolètes : des pilotes incompatibles peuvent interférer avec l'outil de capture. Interférence provenant d'autres applications : d'autres applications en cours d'exécution peuvent entrer en conflit avec l'outil de capture. Le certificat a expiré : une erreur lors du processus de mise à niveau peut provoquer ce problème. Solution simple. Celles-ci conviennent à la plupart des utilisateurs et ne nécessitent aucune connaissance technique particulière. 1. Mettez à jour les applications Windows et Microsoft Store

Sous Linux, curl est un outil très pratique pour transférer des données vers et depuis le serveur. Il s'agit d'un outil de transfert de fichiers qui utilise des règles d'URL pour fonctionner sous la ligne de commande ; il prend en charge le téléchargement et le téléchargement de fichiers et constitue un outil de transfert complet. Curl fournit de nombreuses fonctions très utiles, notamment l'accès proxy, l'authentification des utilisateurs, le téléchargement et le téléchargement FTP, HTTP POST, la connexion SSL, la prise en charge des cookies, la reprise du point d'arrêt, etc.
