2016-08-01 7 views
-5

mein Problem senden i einen Code E-Mail an Benutzer zu senden, wenn Klick auf irgendeine Taste für mich seine Werke in localhost aber nicht funktioniert, wenn ich es in Heroku Server schiebenPHP-Code: E-Mail nicht

<?php 

if (isset($_POST['submitcmt']) && $_POST['token'] == $dcs_user_info['token']) { 
    //get rows in watchlist table if contest_id (job_id)==contest_id in database $watchlist_table = mysqli_query($conn, "SELECT * FROM watchlist WHERE contest_id='$contest_id'") or die("Error: " . mysqli_error($watchlist_table)); 
} 

if (mysqli_num_rows($watchlist_table) > 0) { 

    //get rows from content table 
    $contentsTable = mysqli_query($conn, "SELECT * FROM contests WHERE id='$contest_id'") 
    or die("Error: " . mysqli_error($conn)); 

    //to can use the rows in users table 
    $row_contents = mysqli_fetch_array($contentsTable, MYSQLI_ASSOC); 

    //get rows from users table 
    $userTable = mysqli_query($conn, "SELECT * FROM users WHERE id!='" . $dcs_user->user['id'] . "'") 
     or die("Error: " . mysqli_error($conn)); 

    require 'vendor/vendor/phpmailer/phpmailer/PHPMailerAutoload.php'; 
    require 'vendor/autoload.php'; 

    $mail = new PHPMailer; 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    //$mail->SMTPDebug=2; 
    //$mail->Debugoutput = 'html'; 

    $mail->SMTPOptions = 
     [ 
      'ssl' => [ 
       'verify_peer' => false, 
       'verify_peer_name' => false, 
       'allow_self_signed' => true, 
      ], 
     ]; 

    $mail->Host = 'smtp.gmail.com'; 
    $mail->Username = '[email protected]'; 
    $mail->Password = 'elkhawajah1'; 
    $mail->SMTPSecure = 'ssl'; 
    $mail->Port = 465; 

    //to select all the email in database 
    while ($row_user = mysqli_fetch_array($userTable, MYSQLI_ASSOC)) { 

     $mail->From = 'tasqat'; 
     $mail->FromName = 'tasqat'; 
     $mail->addReplyTo('[email protected]', 'tasqat'); 
     $mail->addAddress($row_user['email'], $row_user['email']); 

     $mail->Subject = "new comment"; 

     $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 

     $mail->Body = "job title :" . $row_contents['title'] . "<br>" . "user name :" . $row_comment['display_name'] . "<br>" . "date : " . $row_comment['date'] . "<br>" . "comment : " . $row_comment['comment'] . "<br>" . "host : " . $actual_link; 

     $mail->AltBody = 'this is body'; 
    } 
}//end while loop 

Antwort

0

Ihre Der Hosting-Provider hat wahrscheinlich die E-Mail-Funktion deaktiviert, um zu verhindern, dass das System für das Spamming verwendet wird. Sie sollten sie kontaktieren, um zu sehen, ob sie es für Sie aktivieren.

Wenn dies nicht der Fall ist, sollten Sie einen Drittanbieter-Dienst in Betracht ziehen.

+0

danke für deine antwort, aber ich habe zwei app in heroku server erste app arbeit in php mailer und senden sie e-mail an benutzer aber die zweite app kann nicht senden, es ist die Fast gleichen code in der ersten app und zweite app .. so? ? –

+0

und wenn ich in localhost seine Arbeit getestet habe !!! –