Câu hỏi Tôi có thể gửi thư từ trình bao bằng PHP, nhưng tôi không thể gửi từ trang web PHP


Tôi đang cố gắng gửi thư từ một biểu mẫu liên hệ trong một trang trên máy chủ của tôi.

Tôi đã theo dõi điều này bài đăng.

Tệp PHP của tôi /var/www/my_project/test.php là:

<?php
$myemail = "my_mail@gmail.com";
$subject = "my subject";
$message = "my message ";
mail($myemail, $subject, $message);
echo "sent";
?>

Nếu tôi chạy tệp PHP từ trình bao:

php /var/www/my_project/test.php

Tôi nhận được email trong Gmail, sau đó, tôi giả sử ssmtp cũng được cấu hình đúng không?

Nhưng nếu tôi chạy PHP từ trình duyệt:

http://localhost/my_project/test.php

nó không gửi thư và nó tạo ra tệp này với nội dung email:

/var/www/dead.letter

Tôi cũng đã thực hiện các bước sau:

costales@server:~$ sudo cat /etc/php5/apache2/php.ini | grep sendmail
sendmail_path = /usr/sbin/sendmail -t
costales@server:~$ sudo service apache2 reload

costales@server:~$ telnet smtp.gmail.com 587
Trying 173.194.67.109...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP dm2sm7052263wib.8 - gsmtp

Bất kỳ ý tưởng xin vui lòng? Cảm ơn trước!


1
2018-01-15 17:36


gốc




Các câu trả lời:


Có phải là Drupal không? Sau đó, bạn có thể xem bài đăng này: https://drupal.org/comment/2032080#comment-2032080

Nó có thể có liên quan đến quyền của người dùng. Thử thêm người dùng apache vào /etc/mail/virtusertable và phục hồi /etc/mail/virtusertable.db

Sendmail cần phải được cấu hình để nó hoạt động với người dùng máy chủ httpd.


2
2018-01-15 18:38



Không, nó chỉ là một trang PHP :) Đó là điều này: html5templatesdreamweaver.com/bootstrap-form.html - costales