2011-12-21 3 views
0

Я пытаюсь отправить почту через основной Php, я создал файл email.php и включен PHPMailer_v5.1 в нем .. вот мой PHP код,Невозможно отправить почту с помощью PHP?

<?php if($_POST){ 
$email = $_REQUEST['email'] ; 
$comments = $_REQUEST['comments'] ; 
$phone = $_POST['telephone'] ; 
$name = $_REQUEST['name'] ; 

$mail = new PHPMailer(); 
$mail->Host = "localhost";    
$mail->From = "[email protected]"; 
$mail->FromName = "Showket"; 
$mail->AddAddress("[email protected]"); 


$mail->Subject = "Feedback form results"; 
$mail->Body=" 
    Name: $name 
    Email: $email 
    Telephone: $telephone 
    Comments: $comments"; 

$mail->WordWrap = 50; 

if(!$mail->Send()) 
{ 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} 
else 
{ 
    echo 'Thank you for your feedback.'; 
} 
} 
?> 

, когда я отправляю эту форму он дает мне правильное сообщение Благодарим вас за отзыв., но я не получил сообщение. Мне нужно настроить что-нибудь еще?

+2

Try Проверьте папку «Спам» в учетной записи электронной почты – Timur

+0

@Showket: вы уверены, что сервер SMTP работает должным образом на вашем сервере – RageZ

+1

Gmail, безусловно, флаг, как спам. Отправка на адрес gmail с адреса gmail с сервером, отличным от gmail? – Corbin

ответ

2

настройки Gmail в качестве SMTP

<?php if($_POST){ 
$email = $_REQUEST['email'] ; 
$comments = $_REQUEST['comments'] ; 
$phone = $_POST['telephone'] ; 
$name = $_REQUEST['name'] ; 

$mail = new PHPMailer(); 

$mail->IsSMTP(); // send via SMTP 
$mail->Host = "ssl://smtp.gmail.com:465"; // SMTP servers 
$mail->SMTPAuth = true; // turn on SMTP authentication 
$mail->Username = "[email protected]"; // SMTP username 
$mail->Password = "password"; // SMTP password 

$mail->Host = "localhost";     
$mail->From = "[email protected]"; 
$mail->FromName = "Showket"; 
$mail->AddAddress("[email protected]"); 

$mail->Subject = "Feedback form results"; 
$mail->Body=" 
Name: $name 
Email: $email 
Telephone: $telephone 
Comments: $comments"; 

$mail->WordWrap = 50; 

if(!$mail->Send()) 
{ 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} 
else 
{ 
    echo 'Thank you for your feedback.'; 
} 
} 
?> 
0

Запустите «sendmail -bp», чтобы проверить, есть ли что-либо в очереди. Кроме того, проверьте папку электронной почты для пользователя, на котором работает ваш веб-сервер, чтобы узнать, были ли у вас какие-либо недоставленные уведомления.

Смежные вопросы