2013-12-04 7 views
0

На моем сайте у меня простая контактная форма, но я не могу понять, почему я не могу отправить электронное письмо.Отправка электронной почты с помощью phpmailer, получение SMTP-ошибки

HTML:

<form id="contactForm" method="post" action="js/sendmail.php" > 
    <fieldset> 
    <p><label for="name" class="label">Name*:</label> 
    <input type="text" name="name" id="Text1" class="input required" />           
    </p> 
    <p><label for="email" class="label">Email*: </label> 
     <input type="email" name="email" id="contact_email" class="input email required" /> 
     <span class="input_feedback"></span>          
    </p>   
    <p> 
     <label class="label">Your message*: </label> 
     <textarea class="textarea required" name="message" rows="10" cols="50" ></textarea> 
    </p> 
    <p class="submitButtons"> 
     <input type="submit" value="Send email" id="senEmail" class="button"/> 
    </p>      
    </fieldset> 
</form> 

PHP:

<?php 
include('class.phpmailer.php'); 
include("class.smtp.php"); 
session_set_cookie_params('3600'); // 1 hour 
session_start(); 
$mail->SMTPSecure = "ssl"; 
$mail->SMTPKeepAlive = true; 
$mail->Mailer = "smtp"; 
$mail = new PHPMailer(); // create a new object 
$mail->SMTPDebug =2; 
$mail->IsSMTP(); // send via SMTP 
$mail ->Host = 'mrvnet.kundenserver.de';  
$mail->Port= 465; 
$mail->SMTPAuth = true; 
$mail->Username = '[email protected]'; 
$mail->Password = '******'; 
$mail->SetFrom('[email protected]'); 
$mail->Subject = "Test"; 
$mail->Body = "Something"; 
$mail->AddAddress('[email protected]'); 
if(!$mail->Send()) 
{ echo "Mailer Error: " . $mail->ErrorInfo;} 
else 
{ echo "Message has been sent";} 
?> 

Я попытался с 'SSL' и 'ДУС', но без каких-либо результатов.

Принимающая компания сказал хозяин правильно и попросил меня попробовать с 587 и 25 портов, но я всегда получал ту же ошибку:

2013-12-04 11:40:00 SMTP ОШИБКА: Не удалось подключиться к server: попытка подключения
не удалась, потому что связанная сторона не ответила должным образом по истечении определенного периода времени, или не удалось установить соединение, потому что подключенный хост не смог ответить. (10060) Ошибка SMTP connect(). Ошибка Mailer: Ошибка SMTP connect().

ответ

0

Не PHP кодировщик, но здесь:

$mail->SMTPSecure = "ssl"; 
$mail->SMTPKeepAlive = true; 
$mail->Mailer = "smtp"; 
$mail = new PHPMailer(); // create a new object 

Вы выделения объекта после вы его используете, это является недействительным, вы должны передать его первый:

$mail = new PHPMailer(); // create a new object 
$mail->SMTPSecure = "ssl"; 
$mail->SMTPKeepAlive = true; 
$mail->Mailer = "smtp"; 
+0

Спасибо, но теперь Я получил: 2013-12-04 12:41:02 SMTP ERROR: Не удалось подключиться к серверу: не удалось найти перенос сокетов «ssl» - вы забыли включить его при настройке PHP? (4104) Ошибка SMTP connect(). Ошибка Mailer: Ошибка SMTP connect(). – user3065581

+0

Если вы - окна, проверьте это (http://stackoverflow.com/questions/1705856/socket-transport-ssl-in-php-not-enabled), если Linux, http://www.simplemachines.org /community/index.php?topic=310264.0 –

+0

Спасибо, только что полученное электронное сообщение с моего хостинга «smtp-передача через php-скрипт невозможно в нашем общедоступном хостинге не возможно из-за ограничения его фиксированных настроек. Мы настоятельно рекомендуем использовать либо php-mail, либо asp mail ' – user3065581

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