phpmailer无法发送邮件

时间:2015-02-14 17:38:09

标签: php mysql email

您好我尝试向注册用户发送邮件。

这是我的代码:

   function email($to, $subject, $body, $from){
            require'PHPMailer-master/PHPMailerAutoload.php';

            define('GUSER', 'ivan.goricki99@gmail.com');
            define('GPWD', 'pass');

            $mail = new PHPMailer();  // create a new object
            $mail->IsSMTP(); // enable SMTP
            $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
            $mail->SMTPAuth = true;  // authentication enabled
            $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
            $mail->Host = 'smtp.gmail.com';
            $mail->Port = 465; 
            $mail->Username = GUSER;  
            $mail->Password = GPWD;     
            $mail->SetFrom($from);
            $mail->Subject = $subject;
            $mail->Body = $body;
            $mail->AddAddress($to);
        }
function register_user($register_data){
        array_walk($register_data, 'array_sanitize');
        $register_data['password'] = md5($register_data['password']);
            $fields = '`' . implode ('`, `', array_keys($register_data)) . '`';
            $data = '\'' . implode('\',\'',$register_data) . '\'';
        mysql_query("INSERT INTO `users` ($fields) VALUES ($data)");
        email($register_data['email'],  'Aktivirajte svoj korisnički račun', "Zdravo".$register_data['username'].",\n\n da bi aktivirao svoj korisnički račun odi na dolje navedeni link:\n\n http://localhost/New%20folder%20(4)/index.php/activate.php?email=".$register_data['email']."&email_code=".$register_data['email_code']."\n\n CroVision");
    }

我的代码中没有错误,但仍然可以发送邮件。

由于

3 个答案:

答案 0 :(得分:1)

我希望你在Linux上工作。如果是这种情况,请检查您的/var/log/mail.log/var/log/maillog取决于Linux发行版。问题可能是服务器正在为不同的reassons弹出您的电子邮件。

注意:你安装了sendmail或postfix吗?

如果这是一个Windows环境,我很抱歉,我无法帮助你。

祝你好运

答案 1 :(得分:0)

更改$ mail-> SMTPDebug = 0;到$ mail-> SMTPDebug = 1;所以它会显示错误。

同时确认您是否将变量作为电子邮件地址传递。

如果您使用任何托管帐户,则有时您可能无法使用SMTP发送。

如果您使用的是localhost,请尝试在php.ini文件中打开ssl。如果您没有看到任何错误,它可能会解决您的问题。

答案 2 :(得分:0)

您不会在电子邮件()

的调用中为$ from参数提供任何值