我正在尝试使用Gmail SMTP和PHPmailer
发送电子邮件。
问题是我有这个错误:
SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known. (0)
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.
这是我正在使用的代码:
?php
require_once($_SERVER['DOCUMENT_ROOT'].'/FreeUni/Kiosk/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
//GMAIL config
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the server
$mail->Host = "ssl://smtp.gmail.com:465"; // sets GMAIL as the SMTP server
$mail->Username = "XXXX@gmail.com"; // GMAIL username
$mail->Password = "XXXXXX"; // GMAIL password
$mail->SMTPDebug = 1;
//End Gmail
$mail->From = "gvakh10@gmail.com";
$mail->FromName = "you name";
$mail->Subject = "some subject";
$mail->MsgHTML("the message");
//$mail->AddReplyTo("reply@email.com","reply name");//they answer here, optional
$mail->AddAddress("XXXX@gmail.com","name to");
$mail->IsHTML(true); // send as HTML
if(!$mail->Send()) {//to see if we return a message or a value bolean
echo "Mailer Error: " . $mail->ErrorInfo;
} else echo "Message sent!";
?>
我已经在网上搜索但找不到解决方案
答案 0 :(得分:1)
我用过这个&它在java中有效 PHP prop也可以设置相同的方式。
String to = "shafi0907@gmail.com";
//change accordingly
//Get the session object
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("shafi0907@gmail.com", "<your password");//change accordingly
}
});
答案 1 :(得分:0)
我替换了
$mail->Host = "ssl://smtp.gmail.com:465";
只是
$mail->Host ="smtp.gmail.com:465";
它工作了!!!
谢谢大家。