Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?

Bạn có phải là một chuyên gia PHP hay có lẽ là một người mới chưa thành thạo? . đây là một trong chúng

Đội ngũ lành nghề của chúng tôi đã vượt lên trên tất cả để giải thích khái niệm trong chủ đề này nhằm hỗ trợ bạn hiểu phạm vi và khái niệm về cách thức hoạt động của thư PHP, xử lý lỗi trong chức năng thư PHP, thiết lập để nó hoạt động và gửi thư PHP qua Gmail. Tại đây, chúng tôi bắt đầu hành trình trở thành một nhà phát triển PHP giỏi hơn

Nhiệm vụ của bạn bây giờ là cống hiến hết mình và tiếp thu thông tin bạn đã được cung cấp

nội dung

Tại sao thư PHP không hoạt động?

Chức năng PHP mail() cho phép người dùng gửi email cho người dùng bằng cách sử dụng tập lệnh. Hàm này nhận ba đối số đầu vào cần thiết để xác định địa chỉ email của người nhận, chủ đề của nó và thư sẽ được gửi cũng như hai tham số tùy chọn là tiêu đề và tham số.

Tiếp tục với hàm PHP mail() , cú pháp chung của hàm này như sau.


thư();
?>

Mail() có thể có các tham số này bên trong dấu ngoặc của nó. thư (đến, chủ đề, tin nhắn, tiêu đề, tham số)

Các giá trị và mô tả MorParameter nằm trong bảng bên dưới

Tham sốMô tảBắt buộc – Các tham số sau là cần thiết đối với Người nhận hoặc người nhận chủ đề thư Chủ đề chính . Ghi chú. Tham số này không được có bất kỳ ký tự dòng mới nào tin nhắn Tin nhắn sẽ được gửi. Ghi chú. Mỗi dòng phải được phân tách bằng một dòng feed-LF (n). Các dòng không được dài hơn 70 ký tự. Tùy chọn – Các tham số sau là tùy chọn tiêu đềTiêu đề, chẳng hạn như Từ, Cc và Bcc, có thể được chỉ định. Nên sử dụng nguồn cấp dữ liệu xuống dòng CRLF (rn) để phân tách các tiêu đề bổ sung.

Ghi chú. Khi gửi email phải có tiêu đề From. Điều này có thể được cấu hình bằng cách sử dụng đối số này hoặc trong php. tập tin ini

tham sốĐược sử dụng để nhập thêm hoặc tham số bổ sung

Ví dụ về cách sử dụng PHP mail()

$to = 'johndoe@email. com’;

$subject = 'Lời mời làm việc';

$message = 'Bạn có hứng thú làm việc với chúng tôi không?';

$from = 'janejoe@email. com’;

 

//Gửi email

if(mail($to, $subject, $message)) {

echo 'Thư của bạn đã được gửi thành công. ’;

} khác{

echo ‘Không thể gửi email. Vui lòng thử lại. ’;

}

?>

đầu ra

Cảnh báo PHP. thư(). Không thể kết nối với máy chủ thư tại cổng “localhost” 25, hãy xác minh cài đặt “SMTP” và “smtp_port” của bạn trong php. ini hoặc sử dụng ini_set() trong C. UsersPromise NwhatorDocuments ArticlesPHPCodetest. php trên dòng 8

Cảnh báo. thư(). Không thể kết nối với máy chủ thư tại cổng “localhost” 25, hãy xác minh cài đặt “SMTP” và “smtp_port” của bạn trong php. ini hoặc sử dụng ini_set() trong C. UsersPromise NwhatorDocuments ArticlesPHPCodetest. php trên dòng 8

Không thể gửi email. Vui lòng thử lại

Từ trên, bạn có thể thấy chức năng thư PHP không hoạt động

Để thư PHP hoạt động, nó yêu cầu máy chủ chuyển phát (SMTP) để gửi email. Nếu bạn đã từng gửi email từ một ứng dụng hoặc trang web khi nó đang trong quá trình sản xuất, thì bạn sẽ biết về mối lo ngại rằng email có thể bị lộ ra ngoài.

Bạn có chắc chắn rằng không có email 'kiểm tra' nào được gửi cho đồng nghiệp hoặc khách hàng không? . Hơn nữa, thời gian cần thiết để kiểm tra các email thử nghiệm mới có thể cản trở đáng kể chu kỳ phát triển của bạn

Để sử dụng thư PHP trên máy chủ cục bộ của bạn, bạn cần có SMTP (Giao thức truyền thư đơn giản). Giao thức truyền thư đơn giản (SMTP) là một chương trình cho phép người gửi và người nhận gửi, nhận và chuyển hướng các email gửi đi. Email được truyền từ máy chủ này sang máy chủ khác trên Internet thông qua SMTP bất cứ khi nào thư được gửi. Theo thuật ngữ của giáo dân, email SMTP chỉ là một email được gửi qua máy chủ SMTP. Ứng dụng tôi hiện đang sử dụng trên máy chủ SMTP trên máy chủ cục bộ của mình có tên là PaperCut

Lý do tại sao thư PHP không hoạt động được liệt kê bên dưới

Một số nhà cung cấp dịch vụ email không cho phép người nhận bên ngoài thông qua chức năng thư PHP khi không hoạt động với máy chủ cục bộ. Đầu tiên, thay đổi người nhận ($ thành) từ mã trên thành người nhận cục bộ. Nói một cách đơn giản, địa chỉ email được gửi đến sẽ từ tên miền của máy chủ

Thực hiện theo các bước bên dưới để gửi thư từ localhost XAMPP bằng Gmail

  1. Mở trình biên dịch của bạn (Visual Studio Code)
  2. Định vị đường dẫn tệp “C. xamppphp” và mở “php. tập tin ini”
    Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?
  3. Xác định vị trí [chức năng thư] trong tệp
    Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?
  4. Thay đổi các giá trị cho sau đây,
    • SMTP = smtp. gmail. com
    • smtp_port = 587
    • sendmail_from = “Tên người dùng Gmail ở đây”@gmail. com
    • sendmail_path = “”C. xamppsendmailsendmail. exe” -t” – Chỉ cần thiết trong môi trường Unix
  5. Sau đó, định vị đường dẫn tệp C. xamppsendmail và mở sendmail. tập tin ini
  6. Xác định vị trí [sendmail] trong tệp
    Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?
  7. Thay đổi các giá trị cho sau đây,
    • smtp_server = smtp. gmail. com
    • smtp_port = 587
    • error_logfile = lỗi. log (Một số mã này có thể đã được nhận xét, chỉ cần xóa ký tự;)
    • debug_logfile = gỡ lỗi. đăng nhập
    • auth_username = “nhập tên người dùng Gmail vào đây”@gmail. com
    • auth_password= “mật khẩu Gmail của bạn ở đây”

Sau khi thiết lập hoàn tất, hãy chạy lại mã bên dưới


$to = 'johndoe@email. com’;
$subject = 'Lời mời làm việc';
$message = 'Bạn có hứng thú làm việc với chúng tôi không?';
$from = 'janejoe@email. com’;
//Gửi email
if(mail($to, $subject, $message)) {
echo 'Thư của bạn đã được gửi thành công. ’;
} khác{
echo ‘Không thể gửi email. Vui lòng thử lại. ’;
}
?>

Các bước trong kiểm tra thư PHP

Tập lệnh bên dưới giúp kiểm tra lưu trữ của bạn để kiểm tra xem bạn có thể gửi email từ các trang web hỗ trợ PHP bằng biểu mẫu liên hệ hoặc thứ gì đó yêu cầu bạn gửi email cho người dùng không. Tập lệnh được sử dụng trong phần mềm, bao gồm các hệ thống quản lý nội dung (CMS) như WordPress, Wix, Joomla, v.v.

Nếu bạn đã thực hiện các điều chỉnh (chẳng hạn như bật SMTP trong cài đặt PHP), đây là phương pháp nhanh chóng và đơn giản để đảm bảo email được gửi chính xác

Tạo một tập lệnh kiểm tra (đặt tên cho tập lệnh kiểm tra. php)  với đoạn mã sau bên dưới


ini_set(‘Hiển thị lỗi ở đây’), 1);
error_reporting(E_ALL);
//Viết địa chỉ Kiểm tra Email của bạn tại đây
$from = “testemail@domain. com”;
// Viết địa chỉ email bạn đang gửi email đến
$to = “tên người dùng@tên miền. com”;
$subject = “Kiểm tra thư PHP”;
$message = “Đây là một thử nghiệm đơn giản để kiểm tra xem PHP Mail của bạn có hoạt động hay không”;
// Hãy nhớ tham số tiêu đề là tùy chọn
$headers = “Từ. ”. $từ;
mail($to, $subject, $message, $headers);
$sent_mail = mail ($to, $subject, $message, $headers);
$error_message = “Thư không gửi được”;if ($sent_mail) echo ‘Thư đã gửi thành công. ’;
khác echo $error_message;
?>

Đăng nhập vào máy chủ của bạn, tốt nhất là dịch vụ lưu trữ được chia sẻ hoặc Máy chủ riêng ảo (VPS), và thực thi mã bên dưới.

kiểm tra PHP. php

Xử lý lỗi thư PHP – Đúng cách

Có nhiều cách khác nhau để phát hiện lỗi trong khi sử dụng chức năng thư PHP. Nếu thư của bạn không gửi vì bất kỳ lý do gì, bạn có thể thử phương pháp bên dưới để hiển thị lỗi từ đâu


ini_set(‘Hiển thị lỗi ở đây’), 1);
error_reporting(E_ALL);
//Viết địa chỉ Kiểm tra Email của bạn tại đây
$from = “testemail@domain. com”;
// Viết địa chỉ email bạn đang gửi email đến
$to = “tên người dùng@tên miền. com”;
$subject = “Kiểm tra thư PHP”;
$message = “Đây là một thử nghiệm đơn giản để kiểm tra xem PHP Mail của bạn có hoạt động hay không”;
// Hãy nhớ tham số tiêu đề là tùy chọn
$headers = “Từ. ”. $từ;
mail($to, $subject, $message, $headers);
$sent_mail = mail ($to, $subject, $message, $headers);
$error_message = “Thư không gửi được”;
if ($sent_mail) echo ‘Thư đã gửi thành công. ’;
khác echo $error_message;
?>

Vì thư ở trên chưa được kết nối với dịch vụ, $error_message dự kiến ​​sẽ được hiển thị ở đầu ra;

đầu ra

Thư không gửi

Phần kết luận

Không do dự, chúng tôi đã tập trung vào tất cả các chiến lược, phương pháp và hành động liên quan đến mọi thứ bạn cần biết về thư PHP. Nắm bắt cách khắc phục lỗi khi sử dụng hàm mail PHP mà không bị căng thẳng. Để kết thúc mọi thứ, đây là tóm tắt nhanh về những gì chúng tôi đã trình bày ở đây cho đến nay

  • Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?
    PHP mail() cho phép người dùng gửi email cho người dùng bằng cách sử dụng tập lệnh
  • Thư PHP yêu cầu ba (3) tham số trước khi nó có thể hoạt động bình thường. Đầu tiên, ‘to’ (người nhận thư), sau đó là ‘subject’ (chủ đề chính của thư – Tham số này không được có bất kỳ ký tự xuống dòng nào), cuối cùng là ‘message’ (Nội dung được gửi
  • Ghi chú. Mỗi dòng phải được phân tách bằng một dòng feed-LF (n). Dòng không được dài quá 70 ký tự).
  • Người dùng có thể không bắt buộc phải thêm một số tham số tùy chọn, đó là tiêu đề và các tham số khác
  • Cú pháp thư PHP là thư(đến, chủ đề, tin nhắn, tiêu đề, tham số)

Chúng tôi đã cung cấp đầy đủ thông tin cần thiết để sửa lỗi trong mail PHP. Thư PHP rất cần thiết khi làm việc với các biểu mẫu liên hệ trên trang web của bạn, được phát triển từ đầu hoặc thông qua một CMS như WordPress, Joomla, Magneto, v.v.

Chúc các bạn lập trình vui vẻ

Đánh giá bài viết này

Làm cách nào để kiểm tra xem chức năng thư có hoạt động hay không trong PHP?

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

Làm cách nào để kiểm tra chức năng thư PHP?

Cách kiểm tra và sửa hàm php mail() .
Tạo một tệp thử nghiệm php bằng trình soạn thảo văn bản và lưu nó e. g. như thử nghiệm. php. .
Thay đổi $sender và $recipient trong mã
Tải tệp php lên máy chủ web của bạn
Mở tệp php đã tải lên trong trình duyệt của bạn để thực thi tập lệnh php

Làm cách nào để kiểm tra xem thư có được gửi bằng PHP không?

À mail() chỉ trả về một giá trị boolean tùy thuộc vào việc thư có được chấp nhận để gửi thành công hay không . từ php. trang mạng. Trả về TRUE nếu thư được chấp nhận để gửi thành công, FALSE nếu không.

Tại sao chức năng thư PHP của tôi không hoạt động?

Đảm bảo máy chủ thư localhost được định cấu hình Không có máy chủ , PHP không thể gửi thư theo mặc định. Bạn có thể khắc phục điều này bằng cách cài đặt một máy chủ thư cơ bản. Đối với Windows, bạn có thể sử dụng Mercury Mail miễn phí. Bạn cũng có thể sử dụng SMTP để gửi email của mình.

Chức năng thư PHP có hoạt động không?

PHP mail() không hỗ trợ xác thực SMTP hoặc sử dụng máy chủ SMTP bên ngoài . Điều này có nghĩa là nó không cung cấp bất kỳ tính năng chặn thư rác hoặc danh sách chặn nào, do đó, thư email của bạn có thể dễ dàng nằm trong thư mục rác của người nhận. PHP không thực hiện tốt công việc đặt tiêu đề email chính xác.