2015-02-14 2 views
-1

Привет Я пытаюсь отправить почту зарегистрированному пользователю.phpmailer не может отправить почту

Это мой код:

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

      define('GUSER', '[email protected]'); 
      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"); 
    } 

Там нет ошибок в моем коде, но до сих пор не могу отправить почту.

Благодаря

+1

Вы попробовали включить отладку? –

+0

@RowlandShaw еще ничего – CroStorm

+1

Каков статус результата вызова '$ mail-> Send()'? – mario

ответ

0

изменение $ mail-> SMTPDebug = 0; to $ mail-> SMTPDebug = 1; поэтому он покажет вам ошибки.

Также подтвердите, передаете ли вы переменные в виде адреса электронной почты.

Если вы работаете с какой-либо учетной записью хостинга, то иногда есть вероятность, что вы не сможете отправлять ее с помощью SMTP.

Если вы используете localhost, попробуйте открыть ssl в файле php.ini. Это может решить вашу проблему, если вы не видите никаких ошибок.

+0

нет ошибок !!!! Я уже сказал – CroStorm

+0

Пробуем номер порта. 587 или попробуйте использовать жестко запрограммированное письмо вместо того, чтобы проходить через $ to. Если не проверять спам-сообщения –

+0

http://phpmailer.worxware.com/?pg=examplebgmail –

0

Вы не предоставите никакого значения для $ от параметра в вызове по электронной почте()

1

Я надеюсь, что вы работаете на Linux. Если это так, пожалуйста, проверьте свои /var/log/mail.log или /var/log/maillog в зависимости от дистрибутива linux. Проблема может заключаться в том, что сервер подбрасывает ваш адрес электронной почты для разных сбоев.

Примечание: вы устанавливаете sendmail или postfix?

Если это оконная среда, извините, я не могу вам помочь.

Удача

+0

Я нахожусь в окнах – CroStorm