2016-08-20 58 views
1

我有一个PHP代码在我的服务器上,如果数据被添加到数据库,它会发送一封邮件给管理员。最近我买了一个网站主机并上传了我的文件。问题是我的服务器邮件被延迟了,所以我问了网站主机。他们说我在我的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"; 
}?> 

回答

0

你的代码是使用PHP的内置mail()命令发送消息 - 你可以看到这条线几乎是在你的代码的末尾:

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

服务器和端口mail()uses are configured in PHP's configuration file, php.ini。您可以通过将其添加到您的代码中来覆盖这些设置 - 在mail()行以上的任何位置。

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

如果你想使用该服务器/端口始终,从其他的PHP代码,你要么需要在该发送邮件的其他文件相同的变化,或更新主php.ini配置文件。

+0

尝试它。我会在一会儿回复 –

+0

非常感谢。你解决了这个问题。 –

相关问题