PHP Mail, còn được gọi là PHP Mailer là một phần mềm chạy trên hầu hết các máy chủ web cho phép các máy chủ web [trang web của bạn] gửi email đi mà bạn không cần phải thiết lập một địa chỉ email chuyên dụng để sử dụng hoặc thực hiện.
Một ví dụ về địa chỉ thư PHP [mà bạn có thể nhận ra] là. wordpress@cpanelTên người dùng. tên máy chủ. đồng. vương quốc anh
Tuy nhiên, SMTP yêu cầu phải thiết lập một tài khoản và trang web được định cấu hình để sử dụng tài khoản đã tạo đó để gửi qua giao thức SMTP, thay vì PHP. Vì việc vận chuyển tin nhắn yêu cầu xác thực, nên bản thân tin nhắn thường được coi là an toàn hơn so với tin nhắn được gửi qua PHP
Một ví dụ về địa chỉ SMTP là. no-reply@yourdomain. com
Những lợi ích khi sử dụng PHP để gửi Thư là gì?
Dễ sử dụng. Đây là lý do thực sự duy nhất để sử dụng thư PHP
Các nền tảng của chúng tôi [giống như hầu hết các nhà cung cấp] được cấu hình sẵn để sử dụng Thư PHP trên trang web của bạn, điều này cho phép trang web của bạn gửi email cập nhật, biểu mẫu liên hệ và bất kỳ thư nào khác mà không cần bất kỳ loại cấu hình nào từ phía bạn để hoạt động này
Lợi ích của việc sử dụng SMTP để gửi Mail là gì?
Mặc dù PHP Mail là thiết lập mặc định trên hầu hết các CMS [WordPress, Joomla, v.v.], nhưng thực tế có nhiều vấn đề hơn khi sử dụng điều này làm phương tiện vận chuyển thư của bạn hơn là sử dụng SMTP
· Tốc độ – Email được gửi qua SMTP thường được gửi nhanh hơn email được gửi qua PHP
· Bảo mật – Email được gửi phải được xác minh bằng tên người dùng và mật khẩu
· Khả năng gửi – Khi email được xác thực, điều này làm cho các máy chủ email nhận đánh giá thư là ít thư rác / xác thực hơn so với địa chỉ thư PHP
· Tính thẩm mỹ – Khách hàng nhận được email từ order@yourdomain. com, thay vì wordpress@cpanelTên người dùng. tên máy chủ. đồng. Anh chẳng hạn
Phần kết luận
Mặc dù thư PHP là một công cụ tuyệt vời và dễ sử dụng, nhưng nó không nên được sử dụng cho môi trường sản xuất và chắc chắn không phải nơi mà khả năng gửi email là quan trọng [ví dụ: email đặt hàng. ] vì thư PHP có thói quen kết thúc trong Thư mục Thư rác do tính chất không được xác thực của thư
Bài viết này giải thích cách sử dụng xác thực SMTP để gửi email bằng hàm PHP mail[] trong PEAR Mail
Gửi Email Với Hàm PHP Mail
Khi bạn sử dụng hàm PHP mail[], cuối cùng bạn sẽ gửi email trực tiếp từ máy chủ web chứ không phải máy chủ thư của bạn. Nếu bạn có máy chủ thư thông qua máy chủ lưu trữ web của mình hoặc thậm chí là máy chủ thư có máy chủ lưu trữ khác, thì tốt hơn hết bạn nên gửi thư qua máy chủ đó
Vấn đề là hàm PHP mail[] không cung cấp bất kỳ cách tích hợp nào để gửi thư qua SMTP. Nếu bạn muốn mở chức năng đó, bạn sẽ cần cài đặt thêm một lớp PHP
Dưới đây là một số tùy chọn hoạt động
- PHPmailer
- SwiftMailer
- Zend_Mail
- XpertMailer
- thư lê
Chúng tôi sẽ chỉ cho bạn cách sử dụng PEAR Mail, nhưng bạn có thể sử dụng bất kỳ lớp nào hỗ trợ SMTP
Nếu máy chủ web của bạn đã cài đặt một hoặc nhiều lớp này, nó có thể có các hướng dẫn liên quan đến trường hợp của bạn. Nếu vậy, hãy tiếp tục và sử dụng lớp mà bạn có quyền truy cập
Chỉ sử dụng phương pháp này nếu bạn đang sử dụng PHP để tạo biểu mẫu thư tùy chỉnh của riêng mình. Nếu bạn đang sử dụng hệ thống quản lý nội dung [CMS] như WordPress, hãy tìm plugin hoặc chức năng tích hợp sẵn để gửi thư qua SMTP, thay vì cố gắng tự tạo
Cách sử dụng PEAR để gửi thư qua SMTP
Đảm bảo rằng miền của bạn được trỏ đến bản ghi Trao đổi thư [MX] của máy chủ lưu trữ thư và ghi chú tên máy chủ thư của bạn. Ví dụ, nó có thể là thư. tên miền của bạn. mạng hoặc smtp. tên miền của bạn. bọc lưới
Kiểm tra xem PEAR Mail đã được cài đặt trên máy chủ thư của bạn chưa
Nếu PEAR Mail chưa được cài đặt, hãy tham khảo ý kiến của máy chủ lưu trữ web mail của bạn để được hướng dẫn cài đặt cụ thể
Sau khi PEAR Mail được cài đặt, hãy sửa đổi một trong các tệp PHP mẫu trong các phần sau để phù hợp với nhu cầu của bạn
Ví dụ PEAR Mail PHP Script cho SMTP Mail
Bạn có thể tạo tập lệnh của riêng mình từ đầu nếu muốn hoặc sửa đổi ví dụ sau theo ý thích của bạn. Đảm bảo nhập tên máy chủ thư web của bạn vào biến máy chủ và sử dụng thông tin đăng nhập của bạn cho máy chủ thư web của bạn trong trường tên người dùng và mật khẩu
require_once "Mail.php";
$from = "Sender Name ";
$to = "Recipient Name ";
$subject = " Subject Line Here: ";
$body = " any message you want ";
$host = "yourmailhost.com";
$username = "your username or email";
$password = "your password";
$headers = array ['From' => $from,
'To' => $to,
'Subject' => $subject];
$smtp = Mail::factory['smtp',
array ['host' => $host,
'auth' => true,
'username' => $username,
'password' => $password]];
$mail = $smtp->send[$to, $headers, $body];
if [PEAR::isError[$mail]] {
echo["
". $mail->getMessage[]. "
"];} other {
echo["
Tin nhắn đã gửi đi thành công
"];}
Ví dụ PEAR Mail PHP Script để xác thực SMTP và mã hóa SSL
Nếu bạn muốn sử dụng xác thực SMTP và mã hóa SSL, bạn sẽ phải thực hiện một số sửa đổi đối với ví dụ trước. Bạn sẽ cần trỏ biến máy chủ đến máy chủ thư SSL của mình, đồng thời chỉ định số cổng như 25, 465, 587, 2525 hoặc 8025. Liên hệ với máy chủ lưu trữ web mail của bạn để biết thêm thông tin nếu bạn không thể biết nên sử dụng cổng nào