Tôi đã cài đặt sendmail với PHP và apache trên Ubuntu. Khi tôi thử dòng lệnh sau đâyPHP sendmail hoạt động trong dòng lệnh Ubuntu, nhưng không phải từ tệp php
php -r "mail('[email protected]', 'test', 'test')"'
gửi thành công email này.
Tuy nhiên, chạy file "test_send_mail.php" với:
<?php
mail('[email protected]', 'test', 'test')
?>
không gửi email.
Nỗ lực không thành công với các file .php tạo ra các mục đăng nhập:
`Jul 5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,
nrcpts = 0, msgid = < [email protected]>, rơle = www-data @ localhost
nỗ lực thành công với dòng lệnh tạo ra các mục đăng nhập:
Jul 5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<[email protected]>,
size=352, class=0, nrcpts=1, msgid=<[email protected]>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
có ai có bất kỳ ý tưởng những gì có thể xảy ra? Cảm ơn sự giúp đỡ của bạn!
Chức năng PHP 'mail()' thực sự khá hạn chế và kỳ quặc. Nếu bạn dự định gửi email đến hoặc cho người dùng trang web của mình, bạn nên sử dụng một thư viện thích hợp, chẳng hạn như PHPMailer. Điều này mang lại cho bạn những thứ như xử lý tệp đính kèm và hỗ trợ tiêu đề tốt hơn nhiều. – staticsan
Thôi nào, thư có thể gửi bất kỳ thứ gì, bao gồm tệp đính kèm và v.v. Có thêm thông tin về phương tiện để gửi email. Trong trường hợp của PHPMailer chủ yếu là nó sử dụng SMTP trong khi chức năng mail sử dụng linux sendmail programm. Và có vẻ như nó được cấu hình cho người dùng root, nhưng không được cấu hình cho dữ liệu www –