2016-05-16 2 views
0

Прежде всего, я новичок здесь и PHPКак я могу добавить smtp-код

Мой вопрос касается поддержки Smtp. мой хостинг нуждается в поддержке SMTP. Я не добавил. Я читал много сообщений, но мои знания были основными. Как я могу добавить код Smtp в этом файле, пожалуйста, помогите мне

<?php 
    //start a session -- needed for Securimage Captcha check 
    session_start(); 

    //add you e-mail address here 
    define("MY_EMAIL", "[email protected],[email protected]"); 

    /** 
    * Sets error header and json error message response. 
    * 
    * @param String $messsage error message of response 
    * @return void 
    */ 
    function errorResponse ($messsage) { 
    header('HTTP/1.1 500 Internal Server Error'); 
    die(json_encode(array('message' => $messsage))); 
    } 

    /** 
    * Return a formatted message body of the form: 
    * Name: <name of submitter> 
    * Comment: <message/comment submitted by user> 
    * 
    * @param String $name  name of submitter 
    * @param String $messsage message/comment submitted 
    */ 
    function setMessageBody ($name, $phone, $email, $message) { 
    $message_body .= "Name: " . $name."\n\n"; 
    $message_body .= "Phone: " . $phone."\n\n"; 
    $message_body .= "Email: " . $email."\n\n"; 
    $message_body .= "Message:" . $message."\n\n"; 
    return $message_body; 
    } 

$name = $_POST['name']; 
$phone = $_POST['phone']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

    header('Content-type: application/json'); 
    //do some simple validation. this should have been validated on the client-side also 
    if (empty($email) || empty($message)) { 
    errorResponse('Email or message is empty.'); 
    } 

    //do Captcha check, make sure the submitter is not a robot:)... 
    include_once './vender/securimage/securimage.php'; 
    $securimage = new Securimage(); 
    if (!$securimage->check($_POST['captcha_code'])) { 
    errorResponse('Invalid Security Code'); 
    } 
//try to send the message 
if(mail(MY_EMAIL, "Feedback Form Results", setMessageBody($_POST["name"], $_POST["phone"], $_POST["email"], $_POST["message"]), "From:$email")) { 
echo json_encode(array('message' => 'Your message was successfully submitted.')); 

} else { 
header('HTTP/1.1 500 Internal Server Error'); 
echo json_encode(array('message' => 'Unexpected error while attempting to send e-mail.')); 
} 
?> 
+0

Что вы хотите сказать, добавив код smtp (и где)? Каков текущий вывод вашего скрипта и какой он нужен? – Buksy

+0

Используйте некоторую библиотеку, например SwiftMailer, для отправки электронной почты с помощью SMTP. Также убедитесь, что ваш PHP поддерживает SMTP (посмотрите в phpinfo(), необходимо перекомпилировать PHP, если отсутствует). – Justinas

+0

вы попробуете решение по адресу https://github.com/PHPMailer/PHPMailer. Это решение имеет полные документы для dev. –

ответ

0
$host = "mailserver.blahblah.com"; 
$username = "smtp_username"; 
$password = "smtp_password"; 

$smtp = Mail::factory('smtp', array ('host' => $host, 
            'auth' => true, 
            'username' => $username, 
            'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 
Смежные вопросы