2016-07-15 5 views
0
/*send email Using at Index.php page*/ 
      $to = $_POST['email']; 
      $subject = "Registration Confirmation"; 
      $body = "<p>Thank you for registering at demo site.</p> 
      <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p> 
      <p>Regards Site Admin</p>"; 
      //include 'classes/phpmailer/mail.php';   
      //function Send_Mail($to,$subject,$body) 

      $mail = new Mail(); 
      //$mail->setFrom(SITEEMAIL); 

      //$mail->Debugoutput = 'html'; 
      $mail->addAddress($to); 
      //$mail->setFrom('[email protected]', 'noreply'); 
      //$mail->addReplyTo('[email protected]', 'First Last'); 
      $mail->subject($subject); 
      //$mail->IsHTML(true); 
      $mail->body($body); 
      $mail->send(); 

/*PHP Mailer Code used in mail.php*/ 
    <?php 
    include('class.phpmailer.php'); 
    class Mail extends PhpMailer 

    //function Send_Mail($subject,$body) 
    { 
     // Set default variables for all new objects 
     public $From  = '[email protected]'; 
     public $FromName = SITETITLE; 
     public $Host  = 'smtp.gmail.com'; 
     public $Mailer = 'isSMTP'; 
     public $SMTPAuth = true; 
     public $Username = '[email protected]'; 
     public $Password = 'password'; 
     public $SMTPSecure = 'tls'; 
     public $Port = 587; 
     public $Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low) 
     public $CharSet  = 'UTF-8'; 
     public $Encoding = '8bit'; 
     public $ContentType = 'text/html; charset=utf-8\r\n'; 
     //public $From  = '[email protected]'; 
     //public $FromName = 'GMail Test';  
     public $WordWrap = 75; 

     public function subject($subject) 
     { 
      return $this->Subject = $subject; 
     } 

     public function body($body) 
     { 
      return $this->Body = $body; 
     } 

     public function send() 
     { 
      $this->AltBody = strip_tags(stripslashes($this->Body))."\n\n"; 
      $this->AltBody = str_replace("&nbsp;", "\n\n", $this->AltBody); 
      return parent::send(); 
     } 
    } 

Я использую этот код выше на странице Index, и это в email.php и email.php было включено в конфигурацию. Но он не работает вместо этой почты по умолчанию() функция работает ..... Я попробовал каждую вещь, даже последний код PHPMailer его crashing..Anyone была идея так пожалуйста, помогитеPHPMAILER не работает, но функция почты по умолчанию автоматически работает

+0

какая ошибка отображается при отправке? –

+0

нет Ошибка просто не работает и просто отправляет электронное письмо с помощью электронной почты() php function – himanshuahuja

+0

См. Webapp Url Monthlyreport.ultimatefreehost.in – himanshuahuja

ответ

0

Это неправильно:

$Mailer = 'isSMTP'; 

Оно должно быть:

$Mailer = 'SMTP'; 

Лучшим подходом было бы вызвать $this->isSMTP() из переопределенного конструктора.

Я бы также рекомендовал использовать встроенный метод html2text, если вы собираетесь принудительно установить AltBody.

Если вы собираетесь переопределить все, введите код.

Вот улучшенная версия:

class Mail extends PhpMailer 

    //function Send_Mail($subject,$body) 
    { 
     // Set default variables for all new objects 
     public $From  = '[email protected]'; 
     public $FromName = SITETITLE; 
     public $Host  = 'smtp.gmail.com'; 
     public $SMTPAuth = true; 
     public $Username = '[email protected]'; 
     public $Password = 'password'; 
     public $SMTPSecure = 'tls'; 
     public $Port = 587; 
     public $Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low) 
     public $CharSet  = 'UTF-8'; 
     public $Encoding = '8bit'; 
     //public $From  = '[email protected]'; 
     //public $FromName = 'GMail Test';  
     public $WordWrap = 75; 

     public function __construct($exceptions = null) 
     { 
      parent::__construct($exceptions); 
      $this->isSMTP(); 
      $this->isHTML(); 
     } 

     public function subject($subject) 
     { 
      return $this->Subject = $subject; 
     } 

     public function body($body) 
     { 
      return $this->Body = $body; 
     } 

     public function send() 
     { 
      $this->AltBody = $this->html2text($this->Body); 
      return parent::send(); 
     } 
    } 
} 
+0

Можете ли вы предоставить мне пример кода для моего использования. Поэтому я могу понять. – himanshuahuja

+0

Еще одна вещь, которую я прокомментировал $ this-> AltBody = strip_tags (stripslashes ($ this-> Body)). "\ N \ n"; $ this-> AltBody = str_replace (" ", "\ n \ n", $ this-> AltBody); – himanshuahuja

+0

И теперь письмо подходит правильно Но не использовать Phpmailer, но с той же функцией mail() – himanshuahuja

0

, который по электронной почте вы посылаете пример: Gmail или Hotmail

если SSL нет Hotmail автоматически удаляет электронную почту без даже уведомления. Вы добавили исключение для конкретного отправителя.