2013-04-04 3 views
-1

Как настроить параметры smtp с помощью функции почты smtp требуется из-за того, что веб-хостинг не позволяет отправлять электронную почту без настройки smtp из-за соображений безопасности.Как настроить параметры smtp с помощью функции почты?

warning error: mail() has been disabled for security reasons 

Теперь, как настроить параметры smtp с помощью этой функции почты()?

<?php 
if(isset($_REQUEST['confirm'])){ 
$your_email = '[email protected]'; //CHANGE TO YOUR SETTINGS 
$domain = $_SERVER["HTTP_HOST"]; //YOUR DOMAIN AND EXTENSION 
$to = $email; 
$subject = 'Demo Your Order'; 
$message = 'test1234'; 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: Demo.Pk<'.$your_email.'@'.$domain.'>\r\n" . 
//"Reply-To: $from \r\n" . 
"X-Mailer: PHP/" . phpversion(); 

mail($to, $subject, $message, $headers); 
} 

?>

+1

Никакое количество конфигурации Smtp не собирается повторно включить 'почты()', если она была отключена Ваш хозяин. Получить новый хост. –

+0

@mikeb веб-хостинг технический сказал мне отправить по электронной почте через smtp настройки? – 2013-04-04 13:47:38

+2

Не используйте 'mail()' непосредственно для чего-либо, когда-либо. Взгляните на [SwiftMailer] (http://swiftmailer.org/) или [PHPMailer] (http://phpmailer.worxware.com/) – DaveRandom

ответ

2

кажется, что почта отключен или не имеет правильную настройку в вашем php.ini. Я думаю, вы все равно можете отправлять электронную почту, используя SMTP, на другой SMTP-сервер, такой как gmail. Пожалуйста, проверьте код ниже, это может помочь вам в решении этой проблемы. Ниже код используется mail.php FRM PEAR

<?php 

     require_once "Mail.php"; 

     $from = "<[email protected]>"; 
     $to = "<[email protected]>"; 
     $subject = "Hi!"; 
     $body = "Hi,\n\nHope this helps?"; 

     $host = "ssl://smtp.gmail.com"; 
     $port = "465"; 
     $username = "[email protected]"; //<> give errors 
     $password = "mypassword"; 

     $headers = array ('From' => $from, 
      'To' => $to, 
      'Subject' => $subject); 
     $smtp = Mail::factory('smtp', 
      array ('host' => $host, 
      'port' => $port, 
      'auth' => true, 
      'username' => $username, 
      'password' => $password)); 

     $mail = $smtp->send($to, $headers, $body); 

     if (PEAR::isError($mail)) { 
      echo("<p>" . $mail->getMessage() . "</p>"); 
     } else { 
      echo("<p>Message successfully sent!</p>"); 
     } 

    ?> 

Вы можете также использовать некоторые другие библиотеки почты, как PHPMailer

+0

amit Я пробовал этот код, но проблема в том, что показ ошибки в $ smtp = Mail :: factory ('smtp', – 2013-04-04 14:00:27

+1

Вам нужно включить библиотеку Mail Pear в свой путь к библиотеке, пожалуйста, загрузите PEAR :: Mail и включите библиотеку PEAR в свой путь включения – Amit

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