2012-05-04 32 views
8

Tôi đang sử dụng mail để gửi e-mail từ PHP. Nó hoạt động tốt, nhưng bây giờ tôi cần phải sử dụng một máy chủ mail an toàn hơn.Email php xác thực

tôi cần phải kết nối với máy chủ mail bằng cách sử dụng cấu hình sau:

smtp: "mail.newserver.com" 
port: "25" 
timeout: 60 
auth: yes 
user: name 
pass: word 

Làm thế nào tôi nên thay đổi mã của tôi dưới đây để nó hoạt động với cấu hình trên?

$to = $SendTo; 
$headers = "From: <[email protected]>" . "\r\n" . "X-Mailer: php"; 
$subject = "Website Contact : " . $uxGlobalLocation; 
$body = $Bodycopy; 

if (mail($to, $subject, $body, $headers)) { 
    header ('Location: /index.php?option'); 
    exit(); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 

Trả lời

10

Thực tế chức năng thư không cung cấp chức năng xác thực. Bạn phải sử dụng lớp Mail từ gói Mail Pear. Xem tại đây để biết ví dụ: http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

+0

Tôi đã nhìn vào bài viết trước đó đoán tôi phải cài đặt lê – acctman

+2

Hoặc bạn có thể viết một chức năng để kết nối với smtp chính mình, nó là một lựa chọn. –

6

Hàm builtin mail() không cung cấp bất kỳ loại xác thực nào. Bạn cần sử dụng thư viện của bên thứ ba cung cấp xác thực SMTP. lựa chọn phổ biến bao gồm:

Bạn cũng có thể tìm kiếm các gói Composer tại Packagist.