如何使用hMailServer在WampServer中发送邮件

时间:2016-12-18 04:31:34

标签: php email wampserver

我在php中有邮件功能,如下所示:

<?php
  $admin_email = "admin@gmail.com";
  $email ="myemail@gmail.com";
  $subject = "hellow ord";
  $comment = "cmt";

  try{
    $th=mail($admin_email, $subject, $comment, "From:" . $email);
    if($th)
      echo "gg";
    else    
      echo "error_message";
  }
  catch(Exception $e)
  {
    echo $e->message();
  }
?>

我有Wamp服务器来运行它。我通过查看Stack Overflow上的帖子来配置hMailServer,但是当我运行上面的代码时,我得到:

Warning: mail(): SMTP server response: 530 SMTP authentication is required... 

在使用邮件功能之前是否需要设置任何内容?

1 个答案:

答案 0 :(得分:0)

PHP mail()函数不支持smtp身份验证,这通常会在连接到您尝试连接的公共服务器时导致错误。安装hmailserver后,您仍然需要使用像PHPMailer这样可以验证的库。

按照此处的步骤使用gmail设置phpmailer: http://blog.techwheels.net/tag/wamp-server-and-phpmailer-and-gmail/

我已经使用gmail成功发送了电子邮件(wamp / hmailserver / phpmailer)。

<?php
  require_once ("class.phpmailer.php");
  $sendphpmail = new PHPMailer();
  $sendphpmail->IsSMTP();
  $sendphpmail->SMTPAuth = true;
  $sendphpmail->SMTPSecure = "ssl";
  $sendphpmail->Host = "smtp.gmail.com";
  $sendphpmail->Port = 465;
  $sendphpmail->Username = "your@gmail.com";
  $sendphpmail->Password = "gmail_password";
  $sendphpmail->SetFrom('your@gmail.com','blahblah');
  $sendphpmail->FromName = "From";
  $sendphpmail->AddAddress("recipient@gmail.com"); //don't send to yourself.
  $sendphpmail->Subject = "Hello!";
  $sendphpmail->Body = "<H3>Check out www.google.com</H3>";
  $sendphpmail->IsHTML (true);
  if (!$sendphpmail->Send())
  {
    echo "Error: $sendphpmail->ErrorInfo";
  }
  else
  {
    echo "Message Sent!";
  }
?>

希望这对其他人也有帮助。在面对这个问题时,我花了几个小时的谷歌搜索和编译答案。