When you are still struggling with php's built-in mail() function, you are very lucky now. This article can help you!
php makes use of the smtp class to send e-mail. I've been using it for a long time, but I haven't had any problems. In the background of this blog, when the blogger replies to the message, he will automatically send an email with a new reply prompt to the netizen, which is also realized by this method of this article.
The method of sending e-mail by smtp class is very simple and stable. The class is already written by others. You only need to call it. Several lines php source code Simple configuration can send mail, is not very looking forward to a try!
1 <?php 2 3 /** 4 * @param $address mixed Array ($address1, $address1) / array (array ('address' = > $address1, 'nickname' = > $nickname1), array ('address' = > $address2, 'nickname' = > $nickname2)) is used when there are multiple recipients or the nickname of the recipient needs to be set 5 * @param $subject string Mail theme 6 * @param $body string Mail content 7 * @param $file string Enclosure 8 * @return bool|string Send successfully and return true; otherwise, return error message 9 * @throws Exception 10 */ 11 function send_mail_by_smtp($address, $subject, $body, $file = '') 12 { 13 require('./PHPMailer-master/Exception.php'); 14 require('./PHPMailer-master/PHPMailer.php'); 15 require('./PHPMailer-master/SMTP.php'); 16 17 //date_default_timezone_set("Asia/Shanghai");//Set up the eighth east zone of timing zone 18 19 $mail = new PHPMailer(); 20 21 //Server settings 22 $mail->SMTPDebug = 2; 23 $mail->isSMTP(); // Use SMTP Mode sending 24 $mail->Host = 'smtp.126.com'; // SMTP Mailbox domain name 25 $mail->SMTPAuth = true; // Enable SMTP Verification function 26 $mail->Username = "*****@126.com"; // Mailbox user name(complete email address) 27 $mail->Password = "*****"; // smtp Authorization code, non email login password 28 $mail->Port = 25; 29 $mail->CharSet = "utf-8"; //Set character set encoding "GB2312" 30 31 // Set the sender's information to show you that I look like a good person (xxxx@126.com) 32 $mail->setFrom($mail->Username, 'You see me as a good guy'); 33 34 //Set recipient parameter 1 to recipient mailbox parameter 2 to add multiple recipients to the nickname set for the recipient 35 //$mail - > address ('******* @ 163. Com','I look like a good man to you '); 36 37 if (is_array($address)) { 38 foreach ($address as $item) { 39 if (is_array($item)) { 40 $mail->addAddress($item['address'], $item['nickname']); 41 } else { 42 $mail->addAddress($item); 43 } 44 } 45 } else { 46 $mail->addAddress($address, 'adsf'); 47 } 48 49 50 //Set replier parameter 1 to replier mailbox parameter 2 to the nickname set for the replier 51 //$mail->addReplyTo('*****@126.com', 'Information'); 52 53 if ($file !== '') $mail->AddAttachment($file); // Add attachments 54 55 $mail->isHTML(true); //Is the message body html Code true or false 56 $mail->Subject = $subject; //Mail theme 57 $mail->Body = $body; //Message body if isHTML Set up true,Can be complete html String such as: use file_get_contents Function read html file 58 //$mail - > altbody = 'this is the body in plain text for non HTML mail clients'; / / additional information can be omitted 59 60 return $mail->Send() ? true : 'ErrorInfo:' . $mail->ErrorInfo; 61 } 62 63 $path = '.\wpic907.jpg'; 64 $ret = send_mail_by_smtp('*******@163.com', 'PHPMailer Mail title', 'PHPMailer Mail content', $path);