Không thể gửi e-mail. Liên hệ với quản trị viên trang nếu vấn đề vẫn còn


8

Khi biểu mẫu web của tôi được điền và gửi, tôi được chuyển hướng đến một trang có nội dung:

Cảm ơn bạn đã gửi.

nhưng có một hộp cảnh báo màu đỏ có ghi:

Không thể gửi e-mail. Liên hệ với quản trị viên trang nếu vấn đề vẫn còn.

Tôi nghĩ đó là máy chủ SMTP, nhưng tôi không biết cách khắc phục.

Câu trả lời:


12

Hãy thử sử dụng:

Hỗ trợ xác thực SMTP

với PHPMailer

Nếu bạn sử dụng Gmail để thiết lập STMP, hãy làm theo các bước sau:

  1. Máy chủ SMTP: smtp.gmail.com
  2. Cổng SMTP: 465
  3. Sử dụng giao thức được mã hóa: Sử dụng SSL
  4. Xác thực SMTP - Tên người dùng và mật khẩu của bạn
  5. Để các tùy chọn khác theo mặc định

2

Lỗi:

Không thể gửi e-mail.

đến từ drupal_mail () và nó được coi là rất chung chung và nó có thể liên quan đến nhiều thứ khác nhau như cấu hình sai của trang web Drupal, cấu hình PHP hoặc dịch vụ SMTP của hệ điều hành của bạn.

Điều đầu tiên cần làm là kiểm tra hệ thống thư hoặc nhật ký Apache (ví dụ /var/log/apache2/error.log) để biết thêm chi tiết về lỗi, vì bạn có thể tự thiếusendmail nó (trừ khi bạn muốn sử dụng bất kỳ dịch vụ SMTP bên ngoài nào).

Nếu Drupal của bạn được lưu trữ trên máy chủ chuyên dụng của bạn và đó là một cấu hình hoàn toàn mới, rất có thể bạn đang thiếu máy chủ SMTP (vì nó được trỏ đến localhosttheo mặc định), trừ khi bạn dự định sử dụng cấu hình bên ngoài.

Nếu đó là máy phát triển cục bộ của bạn, hãy bỏ qua lỗi (vì nó sẽ hoạt động tốt trên máy chủ chuyên dụng), hãy thử cài đặt MailCatcher hoặc bạn sẽ phải cài đặt máy chủ SMTP như đã nêu ở trên.

Dưới đây là một vài gợi ý khác:

  • nếu sử dụng mô-đun SMTP , hãy kiểm tra xem bạn đã cấu hình chưa (xem tệp README ), bao gồm các cài đặt máy chủ phù hợp ,
  • kiểm tra giá trị của mail_systembiến, nếu nó bị ghi đè - đặt lại nó thành giá trị mặc định ( drush vdel mail_system),
  • kiểm tra cấu hình thư PHP của bạn ( php -i | grep -ie mail -e smtp) và xác nhận rằng sendmail_path, SMTPlưu trữ và smtp_portlà chính xác,
  • kiểm tra kết nối với máy chủ SMTP của bạn bằng cách sử dụng telnet, ví dụ:

    telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')

    để kiểm tra xem máy chủ không bị hỏng, được DNS giải quyết hay không bị chặn bởi tường lửa,

  • nếu sử dụng postfix, hãy kiểm tra xem có httpd_can_sendmailđược đặt thành1 ( setsebool httpd_can_sendmail 1) không.

Cuối cùng kiểm tra e-mail của bạn bằng lệnh PHP sau:

php -r 'mail("drupal@mailinator.com", "Mail test", "It works!");'

và kiểm tra trang này nếu nhận được e-mail.


1

Kiểm tra cơ quan giám sát Drupal và nhật ký lỗi PHP của bạn. Họ có thể đang đăng nhập lỗi sẽ giúp bạn tìm ra vấn đề là gì. Ngoài ra, hãy kiểm tra với quản trị viên hệ thống của bạn để xem thông tin đăng nhập của máy chủ SMTP mà bạn đang sử dụng có hợp lệ không (ví dụ: địa chỉ, cổng, mã hóa, mật khẩu, v.v.).


1

Nếu chỉ nhìn thấy những gì sẽ được gửi là đủ, mô-đun maillog rất tiện dụng.


1

Tôi đã gặp vấn đề này do vấn đề hộp cát Amazon SES. Amazon SES không cho phép bạn gửi email đến các tên miền chưa được xác minh ở chế độ hộp cát. Bạn sẽ phải yêu cầu truy cập sản xuất và vấn đề sẽ được giải quyết.


0

Các cài đặt sau làm việc cho tôi trên windows.

Nếu bạn sử dụng Gmail để thiết lập STMP, hãy làm theo các bước sau:

Máy chủ SMTP: smtp.gmail.com

Cổng SMTP: 465

Sử dụng giao thức được mã hóa: Sử dụng SSL

Xác thực SMTP - Tên người dùng và mật khẩu gmail của bạn

Để các tùy chọn khác theo mặc định


0

Câu trả lời được chấp nhận đã giải quyết vấn đề này, nhưng lưu ý rằng tại thời điểm của bài đăng này, Gmail chặn tất cả ứng dụng kém an toàn hơn vì trang web drupal của bạn không chạy với HTTPS.

  1. Sau đó, bạn phải Cho phép các ứng dụng kém an toàn hơn trong Tài khoản của tôi bằng Gmail

    • Tài khoản của tôi> Kết nối và bảo mật> Cho phép các ứng dụng kém an toàn hơn
    • Hoặc theo liên kết trong email cảnh báo nhận được từ Gmail tại thời điểm bạn cố gắng kết nối với mô-đun smtp
  2. Hoặc lấy chứng chỉ SSL cho trang web drupal của bạn.


0

Trên cùng một máy chủ lưu trữ được chia sẻ Bạn không thể gửi e-mail mà không tạo email cho quản trị trang web. Dành cho người cũ nếu bạn có tên miền test.com, bạn phải tạo email webmaster@test.com hoặc admin@test.com trong Cpanel của bạn và đặt email này làm email chính của trang web. Email này sẽ nằm trong trường "Từ" trong thư của bạn. Hoặc tạo thư riêng cho tên miền và đặt thư này làm chính cho trang web. Nó phụ thuộc vào cài đặt bảo mật trên lưu trữ được chia sẻ.


0

Bước 1: bạn có thể cài đặt SMTP Bước 2: comand line open port 465 "-A INPUT -p tcp --dport 465 -j CHẤP NHẬN"


0

Trong trường hợp nó giúp bất cứ ai khác:

Tôi đã nhận được lỗi này và phát hiện ra là do tôi đã đặt cả Cc và Bcc vào cùng một địa chỉ email trong các tiêu đề drupal_mail của tôi. (điều này là do tôi đã thử nghiệm)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.