Как добавить почтовый сервер и порт в этот PHP

php email

27 просмотра

1 ответ

У меня есть PHP-код на моем сервере, в котором, если данные добавляются в базу данных, он отправляет письмо администратору. Недавно я купил веб-хостинг и загрузил мои файлы. Проблема в том, что мои письма с сервера задерживались, поэтому я спросил веб-хостинг. Они сказали мне добавить этот «relay-hosting.secureserver.net» и порт 25 в моем PHP для быстрого получения почты. Я не очень разбираюсь в PHP. Можете ли вы помочь мне, где вставить это в коде ниже:

<?php

// get data 
$name = $_POST['name'];
$alamat = $_POST['alamat'];
$kota = $_POST['kota'];
$provinsi = $_POST['provinsi'];
$name2 = $_POST['name2'];
$date_n_time = $_POST['date_n_time'];
$phone = $_POST['phone'];
$order_list = $_POST['order_list'];
$comment = $_POST['comment'];
$emails = $_POST['email'];

$sql_query = "set names 'utf8'";
$stmt = $connect->stmt_init();
if($stmt->prepare($sql_query)) {    
    // Execute query
    $stmt->execute();
    // store result 
    $stmt->close();
}

// insert data into reservation table
$sql_query = "INSERT INTO tbl_reservation(Name, Alamat, Kota, Provinsi, Number_of_people, Date_n_Time, Phone_number, Order_list, Comment, Email) 
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

$stmt = $connect->stmt_init();
if($stmt->prepare($sql_query)) {    
    // Bind your variables to replace the ?s
    $stmt->bind_param('ssssssssss', 
                $name,
                $alamat,    
                $kota,  
                $provinsi,  
                $name2, 
                $date_n_time, 
                $phone, 
                $order_list,
                $comment,
                $emails
                );
    // Execute query
    $stmt->execute();
    $result = $stmt->affected_rows;
    // store result 
    //$result = $stmt->store_result();
    $stmt->close();
}

// get admin email from user table
$sql_query = "SELECT Email 
        FROM tbl_user";

$stmt = $connect->stmt_init();
if($stmt->prepare($sql_query)) {    
    // Execute query
    $stmt->execute();
    // store result 
    $stmt->store_result();
    $stmt->bind_result($email);
    $stmt->fetch();
    $stmt->close();
}

// if new reservation has been successfully added to reservation table 
// send notification to admin via email
if($result){
    $to = $emails;
    $subject = $reservation_subject_2;
            $message .= "Dear " .$provinsi."\r\n";
    $message .= $reservation_message_2."\r\n\n";
            $message .= "Pick Drop :" .$name2."\r\n";

    $from = $admin_email;
    $headers = "From:" . $from."\r\n".
    mail($to,$subject,$message,$headers);
    echo "OK";
}else{
    echo "Failed";
}?>
Автор: Tony Stark Источник Размещён: 08.11.2019 11:20

Ответы (1)


0 плюса

Решение

Ваш код использует встроенную mail()команду PHP для отправки сообщения - вы можете увидеть эту строку почти в конце вашего кода:

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

Используемый сервер и порт mail() настраиваются в файле конфигурации PHP, php.ini . Вы можете изменить эти настройки, добавив их в свой код - в любом месте над mail()строкой.

ini_set('SMTP', 'relay-hosting.secureserver.net');
ini_set('smtp_port', 25);

Если вы хотите использовать этот сервер / порт всегда, из другого PHP-кода, вам нужно либо внести те же изменения в другие файлы, которые отправляют почту, либо обновить основной файл конфигурации php.ini.

Автор: Don't Panic Размещён: 20.08.2016 02:23
Вопросы из категории :
32x32