Hướng dẫn test send mail php - kiểm tra gửi thư php
Th8 17, 2022 Show
Hai G. 8ít nhất Đọc Gần như bất kỳ dự án kinh doanh nào cũng cần có email và gửi email cho khách hàng hoặc đối tác. Mặc dù có nhiều loại email hosting doanh nghiệp khác nhau, như Hostinger, Zoho Mail, và Google Workspace, bạn cũng có thể gửi email bằng PHP. Trong bài hướng dẫn này, bạn sẽ học cách gửi email bằng PHPmail()function có sẵn và PHPMailer với giao thức Simple Mail Transfer Protocol (SMTP).PHP mail() function có sẵn và PHPMailer với giao thức Simple Mail Transfer Protocol (SMTP). PHP mail() function có thể được dùng để gửi email sử dụng PHP. Nó thuận tiện nếu bạn muốn tạo form liên hệ trên website của bạn. Với PHP mail(), emails có thể được gửi sử dụng script PHP đơn giản.
Gửi email bằng PHP mail() FunctionSử dụng PHPMailer để gửi email kích hoạt chương trình Sendmail, thường được cấu hình bởi system admin. Chương trình này giúp bạn gửi email được. Sửa lỗi thông thường của PHP mail và PHPMailer Sendmail service. Kết luận PHP mail() function kích hoạt chương trình Sendmail, thường được cấu hình bởi system admin. Chương trình này giúp bạn gửi email được.Để dùng được hàm này, hãy chắc là nhà cung cấp của bạn cho phép bạn chỉnh chức năng Sendmail service.Emails -> Mail Service Control. Các bước gửi email hàm PHP mail() như sau:Sendmail service đã được kích hoạt. Bạn có thể kiểm tra lại cho chắc. Bước 1 – Kích hoạt dịch vụ SendmailNếu bạn đang dùng web hosting của Hostinger hoặc WordPress hosting, bạn có thể kích hoạt hoặc vô hiệu function này trong hPanel. Nhấn vào Emails -> Mail Service Control.public_html.
Double click vào file và copy dán đoạn code này vào trong file testmail.php. Chúng tôi sẽ sử dụng đoạn code này để gửi email và sẽ giải thích cho bạn ở sau:Sau khi lưu lại file trên. Bạn có thể truy cập tenmiencuaban/testmail.php từ trên trình duyệt để chạy script. Nhớ thay đổi chỗ tenmiencuaban thành tên miền của bạn. Email bạn nhắm đến sẽ nhận được tin nhắn bạn gửi:Sendmail và các components của nó, bạn có thể xem qua bộ tài liệu PHP chính thức. Hiểu thêm về các thành phần trong PHP Mail Như đã hứa, chúng tôi sẽ giới thiệu bạn các thành phần cơ bản của một mail script PHP. Ví dụ này là chúng tôi tạo một cú pháp email cơ bản để bạn hiểu nó hoạt động như thế nào cụ thể. ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); Tuy nhiên, nếu bạn muốn biết thêm thông tin chức năng của Sendmail và các components của nó, bạn có thể xem qua bộ tài liệu PHP chính thức. $from = ""; Đây là PHP syntax chúng tôi đã dùng ở phần trước: – Email gửi từ. Nhiều nhà cung cấp không cho phép sử dụng email address tùy ý vì lý do nó có thể bị lạm dung làm spoofing. Nên bạn cần điền email address bạn đã tạo cho tên miền này ở đây để thực thi PHP mail thành công. $to = ""; Cùng xem qua cụ thể về từng dòng một: – Email người nhận. Khi bạn gửi đi cho mục đích kiểm tra, hãy dùng email cá nhân của bạn để thử. $subject = "Checking PHP mail"; 2 dòng đầu tiên là bật tính năng hiện lỗi để bạn thấy lỗi nếu có. Chúng sẽ báo lỗi nếu script thực thi thất bại. – Tiêu đề email $message = "PHP mail works just fine"; $from – Email gửi từ. Nhiều nhà cung cấp không cho phép sử dụng email address tùy ý vì lý do nó có thể bị lạm dung làm spoofing. Nên bạn cần điền email address bạn đã tạo cho tên miền này ở đây để thực thi PHP mail thành công. – Đây là chỗ bạn điền nội dung của email vào $headers = "From:" . $from; $to – Email người nhận. Khi bạn gửi đi cho mục đích kiểm tra, hãy dùng email cá nhân của bạn để thử. – Mỗi email có headers. Chúng bao gồm những thông tin như là email gửi từ, địa chỉ email để trả lời (reply-to address) mail ($to,$subject,$message,$headers); $subject – Tiêu đề email – Đây là hàm PHP để chạy lệnh gửi email. Bạn không nên thay đổi gì trong dòng này. echo "The email message was sent."; $message – Đây là chỗ bạn điền nội dung của email vào – PHP function echo sẽ hiển thị thông báo trên màn hình là script đã được thực thi thành công. Sử dụng PHPMailer để gửi emailSửa lỗi thông thường của PHP mail và PHPMailer mail() hoặc Simple Mail Transfer Protocol (SMTP). Thư viện này đơn giản quá trình phức tạp xây dựng một PHP mail bằng cách cho bạn dùng một bộ các function để tạo và gửi email Kết luận PHP mail() function kích hoạt chương trình Sendmail, thường được cấu hình bởi system admin. Chương trình này giúp bạn gửi email được.
Sử dụng PHPMailer để gửi email với Hostinger SMTPKhi bạn đã có PHPMailer sẵn, bạn có thể dùng nó để gửi PHP mails bằng Hostinger SMTP.
Hiểu về PHPMailer ComponentsĐể hiểu PHPMailer hoạt động như thế nào, hãy cùng chúng tôi xem mô tả của ví dụ script trên đã dùng SMTP để gửi email thành công nhé. Đây là giải thích từng component: 3Dòng này nhập PHPMailer class vào global namespace. 4Nó kết hợp nhiều thư viện khác nhau để PHPMailer chạy được. 5Tất cả những biến tương tự chứa thông tin quan trọng, như địa chỉ server, message header, attachment,… Tóm lại, hãy đảm bảo sender được bảo vệ bởi chứng thực SMTP. 6Định nghĩa điều gì sẽ xảy ra khi script được thực thi. 7Nó sẽ hiện lỗi giải thích khi nào script thất bại. 8Xác định điều gì xảy ra tiếp theo khi scritp được thực thị. 9Nếu email được gửi thành công, dòng này sẽ hiện ra. PRO TIP: Dòng này SMTPDebug = 2; chỉ hữu dụng khi bạn gửi test script và muốn xem nó hoạt động như thế nào. Bạn cần chuyển nó về SMTPDebug = 0; nếu bạn đã test xong. Để tránh người dùng cuối nhận được SMTP deliver report. Dòng này SMTPDebug = 2; chỉ hữu dụng khi bạn gửi test script và muốn xem nó hoạt động như thế nào. Bạn cần chuyển nó về SMTPDebug = 0; nếu bạn đã test xong. Để tránh người dùng cuối nhận được SMTP deliver report. Nếu bạn chú ý, bạn sẽ nhận ra nó hơi khác so với ví dụ đầu tiên – chúng tôi đang gửi một HTML message thay vì là một đoạn văn bản thuần túy. Vì vậy, tin nhắn của bạn sẽ tải nội dung từ trong file message.html đặt trong cùng thư mục — public_html.message.html đặt trong cùng thư mục — public_html. Định dạng này có nhiều chức năng tuyệt vời hơn so với plain text vì HTML có khả năng tùy chỉnh cao. Bạn có thể chỉnh màu, phong cách, ảnh, và thêm file multimedia vào, những thứ mà sẽ bị mất khi gửi mail plain text. PHPMailer Contact FormBạn có thể ứng dụng PHPMailer vào nhiều thứ hơn thay vì chỉ gửi PHP mail đơn giản. Một khi bạn đã ứng dụng nó, bạn có thể tạo contact form nơi độc giả có thể nhanh chóng tương tác với bạn. Đây là ví dụ của đoạn script: ini_set( 'display_errors', 1 ); error_reporting( E_ALL );0 Giống với script trước, bạn cần tạo file mới trong thư mục public_html. Trong trường hợp này, chúng tôi đặt tên nó là formscript.php. Chỉnh thông tin bên trong script tuần tự. Sau đó, bạn có thể chạy script từ trong trình duyệt.public_html. Trong trường hợp này, chúng tôi đặt tên nó là formscript.php. Chỉnh thông tin bên trong script tuần tự. Sau đó, bạn có thể chạy script từ trong trình duyệt. Đây là kết quả: Khi khách hàng gửi tin nhắn, anh ta sẽ nhận được thông báo xác nhận và nội dung sẽ chuyển đến ibox của email bạn nhập ở đây: Khi khách hàng gửi tin nhắn, anh ta sẽ nhận được thông báo xác nhận và nội dung sẽ chuyển đến ibox của email bạn nhập ở đây:ini_set( 'display_errors', 1 ); error_reporting( E_ALL );1 PRO TIP: Trong trường hợp PHPMailer contact form không hoạt động. thêm dòng $mail->SMTPDebug = 2; vào để xem điều gì gây ra lỗi. Đừng quên xóa số 2 thành 0 khi xong việc. Trong trường hợp PHPMailer contact form không hoạt động. thêm dòng $mail->SMTPDebug = 2; vào để xem điều gì gây ra lỗi. Đừng quên xóa số 2 thành 0 khi xong việc. PHPMailer có nhiều ví dụ hơn nữa bạn có thể thử trong GitHub repository chín thức. Cũng vậy, nếu bạn đang dùng WordPress, bạn có thẻ dễ dàng tạo một contact form với rất nhiều plugin như WP Forms, Formidable Forms, hoặc Gravity Forms. Sửa lỗi thông thường của PHP mail và PHPMailerLỗi phát sinh trong khi dùng PHP mail hoặc PHPMailer. Đây là danh sách các lỗi thông thường và cách sửa lỗi chúng. Sender Address Rejected: Not Owned by the UserLỗi này có nghĩa server không thể chứng thực bằng thông tin bạn cung cấp. Để sửa, hãy kiểm tra lại email bạn dùng để gửi email và chắc rằng nó đang tồn tại. Nếu nó trỏ tới sai inbox, hãy thay đổi. Ngoài ra, bạn cũng có thể kích hoạt SPF record Gmail Couldn’t Verify That YourDomain.com Sent This MessageNếu bạn thấy cảnh bảo này khi kiểm thử PHP mail script, có nghĩa là:
Mail bị chuyển tới thư mục spamCó nhiều lý do khiến gửi email PHP rơi vào thư mục spam. Đây là một số lý do phổ biến:
Kết luậnBây giờ bạn đã biết làm thế nào để gửi email qua PHP. Mặc dù bài hướng dẫn này khá cơ bản, nhưng phương pháp cũng cùng như vậy nếu bạn muốn tạo contact form trên website của bạn.gửi email qua PHP. Mặc dù bài hướng dẫn này khá cơ bản, nhưng phương pháp cũng cùng như vậy nếu bạn muốn tạo contact form trên website của bạn. Tuy nhiên nếu bạn muốn có thêm những script cao cấp chạy lệnh gửi email sử dụng PHP, hãy xem qua PHPMailer project. Nếu bạn có thủ thuật, mẹo nào để gửi email hoặc ý tưởng mới có thể chia sẽ. Đừng ngại hãy để lại bình luận bên dưới cho chúng tôi nhé. Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp. |