首页 > 解决方案 > SMTP lib 文件中的错误

问题描述

我想向注册用户发送确认邮件。我正在使用 php mailer 和 smtp lib 类文件向注册用户发送邮件。

 if(isset($_POST['submit']))
    {
        require "dbc.php";

        $username = $_POST['username'];
        $email = ($_POST['email'];
        $password = $_POST['password'];

        $enc_password = md5($password);

        if($username && $email && $password)
        {
            $confirmcode = rand();
            $query = mysql_query("INSERT INTO `tutorial` VALUES('','$username','$enc_password','$email','0','$confirmcode')");

            $message =
            "
            Confirm Your Email
            Click the link below to verify your account
            http://www.example.com/emailconfirm.php?username=$username&code=$confirmcode
            ";
             require_once($_SERVER['DOCUMENT_ROOT'].'/lib/class.phpmailer.php');
                require_once($_SERVER['DOCUMENT_ROOT'].'/lib/class.smtp.php');
                $mail = new PHPMailer(true);
                $from = "support@example.com";
                     $mail->IsSMTP();
             //$mail->SMTPSecure = 'ssl'; 
             $mail->SMTPDebug = 1;
             $mail->Host = 'smtp.us-east-1.amazonaws.com';
             $mail->SMTPAuth = true;
             $mail->Username = 'support@example.com';
             $mail->Password = '******';
             $mail->Sender = $from;
             $mail->From = $from;
             $mail->AddReplyTo($email);
             $mail->FromName ="Mail";
             $mail->AddAddress($email);
             $mail->Port = 25;
        $mail->IsHTML(true);
             $mail->Subject = $subject;
             $mail->Body = $message;
             $mail->WordWrap = 50;
             $mail->Send();

            echo "Registration Complete! Please confirm your email address";
        }
    }

但我得到了这个错误。

SMTP -> 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。(0) 致命错误:未捕获的异常 'phpmailerException' 带有消息“SMTP 错误:无法连接到 SMTP 主机。” 在 C:\wamp\www\Email Confirmation\lib\class.phpmailer.php:1093 堆栈跟踪:#0 C:\wamp\www\Email Confirmation\lib\class.phpmailer.php(971): PHPMailer->SmtpConnect () #1 C:\wamp\www\Email Confirmation\lib\class.phpmailer.php(845): PHPMailer->SmtpSend('Date: Mon, 14 M...', '???Confirm Your.. .') #2 C:\wamp\www\Email Confirmation\lib\class.phpmailer.php(763): PHPMailer->PostSend() #3 C:\wamp\www\Email Confirmation\register.php(61) : PHPMailer->Send() #4 {main} 在第 1093 行的 C:\wamp\www\Email Confirmation\lib\class.phpmailer.php 中抛出

标签: phpemailphpmailer

解决方案


我认为您正在尝试在本地计算机上发送电子邮件,它不适用于 WAMP,请在您的服务器上尝试,


推荐阅读