Hướng dẫn dùng 995 993 trong PHP

Có rất nhiều người gặp vấn đề tương tự nhưng không ai trả lời câu hỏi của họ. Tôi đã bật IMAP trong PHP, Sử dụng tất cả các thông tin chính xác. Tôi không thấy mình đang sai ở đâu.

Đây là mã của tôi:

$hostname = '{imap.gmail.com:995/imap/ssl/novalidate-cert}'; 
$username = ''; $password = 'password'; 
$inbox = imap_open[$hostname,$username,$password] or die['Cannot connect to Gmail: ' . imap_last_error[]];

print_r[imap_errors[]];

Không trả lại bất kỳ lỗi nào ngoài:

Cảnh báo: imap_open [] [function.imap-open]: Không thể mở luồng {imap.gmail.com:995/imap/ssl/novalidate-cert} trong /home/a8066360/public_html/test/imap.php trực tuyến 6

Không thể kết nối với Gmail: Không thể kết nối với gmail-imap.l.google.com, 995: Kết nối đã hết thời gian chờ

Tôi nhận thấy rằng nếu tôi thay đổi các dấu ngoặc kép thành `

shell_exec [] đã bị vô hiệu hóa vì lý do bảo mật ...

Hãy giúp tôi!!!

  • php
  • gmail
  • imap
  • shell-exec

13 hữu ích 4 bình luận 30k xem chia sẻ

answer

13

Bạn cần cổng 993 , cổng SSL IMAP .

Cổng 995 là cổng SSL POP3 .

13 hữu ích 3 bình luận chia sẻ

answer

6

Tôi nghĩ rằng IMAP của Gmail chỉ có thể được truy cập trên cổng 993.

$hostname = "{imap.gmail.com:993/imap/ssl/novalidate-cert}";

6 hữu ích 0 bình luận chia sẻ

answer

3

Tôi đã có cùng một lỗi và tìm thấy một giải pháp khác. Tôi đã thêm thông tin gỡ lỗi vào máy chủ:

"{imap.gmail.com:993/debug/imap/ssl/novalidate-cert}INBOX"; 

Khi tôi đọc nhật ký lỗi php, tôi thấy

Unknown: [ALERT] Please log in via your web browser: //support.google.com/mail/accounts/answer/78754 [Failure] [errflg=1] in Unknown on line 0

Mở liên kết và làm theo hướng dẫn. Tìm kiếm

Ứng dụng của bạn có thể không hỗ trợ các tiêu chuẩn bảo mật mới nhất. Hãy thử thay đổi một số cài đặt để cho phép các ứng dụng kém an toàn hơn truy cập vào tài khoản của bạn.

Nhấp vào liên kết và bật quyền truy cập ứng dụng kém an toàn hơn.

Sau đó, nó hoạt động cho tôi.

3 hữu ích 2 bình luận chia sẻ

answer

1

Tôi đã gặp vấn đề tương tự và tôi đã khắc phục nó bằng cách mở khóa hình ảnh xác thực của Google.

Truy cập URL sau khi đã đăng nhập vào tài khoản Google: //accounts.google.com/DisplayUnlockCaptcha

Và bấm vào nút.

Tất nhiên, bạn đã kích hoạt quyền truy cập cho các ứng dụng kém an toàn hơn trong tab Bảo mật của cài đặt tài khoản Google của bạn ;].

Nó sẽ hoạt động ngay bây giờ!

1 hữu ích 0 bình luận chia sẻ

answer

1

Bạn phải bật tùy chọn nhất định từ tài khoản Gmail được kết nối. //myaccount.google.com/lesssecureapps

1 hữu ích 0 bình luận chia sẻ

answer

0

Bạn có thể thiết lập xác thực 2 bước và sau đó chỉ định mật khẩu APP để sử dụng trong các yêu cầu của mình [chỉ cần thay thế mật khẩu của bạn bằng mật khẩu được cung cấp cho ứng dụng, mật khẩu bình thường của bạn không thay đổi].

Điều này sẽ giúp tập lệnh của bạn chạy từ bất kỳ máy chủ nào mà không bị google chặn [do thay đổi vị trí đăng nhập].

0 hữu ích 0 bình luận chia sẻ

answer

0

Bạn có thể thử mã sau bằng cách đưa ra một notlsđối số và kết nối máy chủ như sau, nếu SSL không được áp dụng.

$hostname = '{imap.YOUR_DOMAIN.com:143/imap/notls}INBOX'; 
$username = 'YOUR_USERNAME';
$password = 'YOUR_PASSWORD';

$inbox = imap_open[$hostname, $username, $password] or die['Cannot connect to Gmail: ' . imap_last_error[]];

Nếu nó không xuất hiện bất kỳ lỗi nào, điều này có nghĩa là bạn đã kết nối thành công với máy chủ sau đó. Tôi hi vọng cái này giúp được.

0 hữu ích 0 bình luận chia sẻ

Đăng nhập để trả lời câu hỏi

Có thể bạn quan tâm

Chủ Đề