SMTP settings...
我一直在尝试使用 PHPMailer 从我的本地主机发送电子邮件,但我无法修复此错误:
邮件程序错误:SMTP连接()失败
$from = $_POST['Smssettings']['mail_from'];
$to = $_POST['Smssettings']['mail_to'];
$subject = $_POST['Smssettings']['mail_subject'];
$message = $_POST['Smssettings']['mail_message'];
$password="mypassword";//saving password to a varible
$mail = new PHPMailer();
$mail->IsSMTP();//Set mailer to use SMTP
$mail->CharSet = "UTF-8";
$mail->SMTPSecure = 'tls';
$mail->SMTPKeepAlive = true;
$mail->Mailer = "smtp";
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = $from;/*SMTP username*/
$mail->Password = $password;/*SMTP password*/
$mail->SMTPAuth = true;/*Enable SMTP authentication*/
$mail->SMTPDebug = 0;//set debug
$mail->From = $from;// from address to which mail is sent
$mail->FromName = 'Name';// specifying sender name
$mail->AddAddress($to);// specifying to address
$mail->AddReplyTo($from, 'Information');// specifying the mail address to which replay is sent
$mail->IsHTML(true);
$mail->Subject = $subject;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->Body = $message;
答案 0 :(得分:0)
您可以使用此编码在localhost中发送邮件。但是在使用此编码之前请包含library.php,class.phpmailer.php和class.smtp.php,我希望您拥有这些文件。
<?php
include 'library.php'; // include the library file
include "classes/class.phpmailer.php"; // include the class name
include "classes/class.smtp.php";
if(isset($_POST["send"])){
$email = $_POST["email"];
$mail = new PHPMailer; // call the class
$mail->IsSMTP();
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com"; //Hostname of the mail server
$mail->Port = 465; //Port of the SMTP like to be 25, 80, 465 or 587
$mail->SMTPDebug = 1;
//$mail->SMTPAuth = false; //Whether to use SMTP authentication
$mail->Username = "your gmail id"; //Username for SMTP authentication any valid email created in your domain
$mail->Password = "your password"; //Password for SMTP authentication
$mail->AddReplyTo("abcd@gmail.com", "Reply name"); //reply-to address
$mail->SetFrom("your gmail id", "XYZ"); //From address of the mail
// put your while loop here like below,
$mail->Subject = "Your SMTP Mail"; //Subject od your mail
$mail->AddAddress($email, "Asif18"); //To address who will receive this email
$mail->MsgHTML("<b>Hi, your first SMTP mail has been received."); //Put your body of the message you can place html code here
//Attach a file here if any or comment this line,
$send = $mail->Send(); //Send the mails
if($send){
echo '<center><h3 style="color:#009933;">Mail sent successfully</h3></center>';
}
else{
echo '<center><h3 style="color:#FF3300;">Mail error: </h3></center>'.$mail->ErrorInfo;
}
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server by Asif18</title>
<meta name="keywords" content="send mails using smpt in php, php mailer for send emails in smtp, use gmail for smtp in php, gmail smtp server name"/>
<meta name="description" content="Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server"/>
<style>
.as_wrapper{
font-family:Arial;
color:#333;
font-size:14px;
}
.mytable{
padding:20px;
border:2px dashed #17A3F7;
width:100%;
}
</style>
<body>
<div class="as_wrapper">
<h1>Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server</h1>
<form action="" method="post">
<table class="mytable">
<tr>
<td><input type="email" placeholder="Email" name="email" /></td>
</tr>
<tr>
<td><input type="submit" name="send" value="Send via SMTP" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>