联系表单,phpmailer()和gmail地址的问题

时间:2014-08-06 20:11:57

标签: php gmail phpmailer contact-form

我遇到了联系表单的问题,因此我读到phpmailer非常有用。不幸的是,我已经困住了几个小时,我不知道如何进一步发展。

我想测试一下是否可以发送电子邮件(之后我想将电子邮件连接到表单提交,但到目前为止没有成功。我正在使用PHPmailer 5.2.0并使用下面的代码(使用时) WAMPSERVER用于测试。有人知道我应该调整什么吗?

我已经使用了很多例子(包括来自stackoverflow,但我只是遗漏了一些东西。你看到出了什么问题吗?每次我都收到错误:

SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Er is een onherstelbare fout opgetreden tijdens het zoeken in de database. (0) 
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.

提前致谢!!

<?php
require_once('class.phpmailer.php');
include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = file_get_contents('contactformulier.html');
//$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "test@gmail.com"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "test@gmail.com"; // sets the SMTP server
$mail->Port       = 26;                    // set the SMTP port for the GMAIL server
$mail->Username   = "test@gmail.com"; // SMTP account username
$mail->Password   = "password";        // SMTP account password

$mail->SetFrom('test@gmail.com', 'First Last');

$mail->AddReplyTo("test@gmail.com","First Last");

$mail->Subject    = "PHPMailer Test Subject via smtp, basic with authentication";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "test@gmail.com";
$mail->AddAddress($address, "John Doe");



if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

2 个答案:

答案 0 :(得分:0)

正如迈克评论的那样,你已经使用了一些非常奇怪的值。关注PHPMailer仓库中的this example,这主要涉及这些设置:

$mail->Host       = 'smtp.gmail.com';
$mail->Port       = 587;
$mail->SMTPSecure = 'tls';

您还使用旧版本的PHPMailer - 自该版本以来已经有很多错误修复,所以get the latest

否则,简单的连接失败通常归结为DNS或本地网络问题,而不是PHPMailer中的任何问题。

答案 1 :(得分:0)

感谢帮助人员,现在邮件工作正常!我有一个错误的端口和主机(我问我的提供商)。

还有别的,你们知道如何在发送电子邮件后回到网页吗?我认为那不是那么难,但我很难用它......