2011-10-25 40 views
13

Tôi đã sử dụng hết tất cả các kết hợp có thể có của tên máy chủ nhưng tôi luôn bị lỗi chứng chỉ hoặc kết nối IMAP bị hỏng.Lỗi chứng chỉ bằng IMAP trong PHP

Giấy chứng nhận thất bại cho imap.froiden.com: Tên máy chủ không phù hợp chứng chỉ: /O=imap.mailhostbox.com/OU=Go để https://www.thawte.com/repository/index.html/OU=Thawte SSL123 giấy chứng nhận/OU = miền Validated/CN = imap .mailhostbox.com

Tên máy chủ mà tôi đã sử dụng là '{imap.froiden.com}INBOX'. BẤT CỨ gợi ý để giải quyết lỗi này?

+1

chứng chỉ đã được cấp cho 'imap.mailhostbox.com' - cho kết nối SSL, tên máy chủ được yêu cầu và tên máy chủ được cấp cho PHẢI khớp hoặc bạn ' sẽ nhận được những cảnh báo/lỗi này. Tên máy chủ không khớp (trong cài đặt độc hại) có nghĩa là ai đó đang cố giả mạo/giả mạo thứ gì đó. –

+0

@MarcB Vâng, tôi đã thử mọi kết hợp nhưng nó không hoạt động như ** imap.froiden.com: 993/imap/ssl **. Có bất kỳ điều gì tôi cần phải định cấu hình trên máy chủ của mình không? –

+0

Bạn nên sử dụng imap.mailboxhost.com:993/imap/ssl, giả định rằng cert là đúng và nó thực sự đang được phục vụ từ một máy có tên imap.mailhostbox.com –

Trả lời

19

Chứng chỉ không đồng đều. Bạn nên kết nối với imap.mailboxhost.com:993/imap/ssl hoặc liên hệ với quản trị viên của máy chủ thư và yêu cầu chứng chỉ hợp lệ.

Lưu ý rằng trong khi bạn có thể sử dụng chuỗi kết nối imap.froiden.com:993/imap/ssl/novalidate-cert để bỏ qua xác nhận chứng chỉ, bạn nên không làm như vậy là lá cờ mà sẽ cho phép bất kỳ Man In The Middle kẻ tấn công để đọc và viết email của bạn.

+0

Cảm ơn, '{imap.example.com/ssl/novalidate-cert} INBOX' đã hoạt động – michalzuber

4

tôi có thể khẳng định điều này đang làm việc tốt:

$mb = imap_open("{phoenix.srv.spletnasoba.si:993/imap/ssl/novalidate-cert}","username", "password"); 

$emails = array(); 
$messageCount = imap_num_msg($mb); 
for($MID = 1; $MID <= $messageCount; $MID++) 
{ 

    $EmailHeaders = imap_headerinfo($mb, $MID); 
    foreach($EmailHeaders as $key => $value) { 
     if (validateEmail($value)) { 
      $emails[$value] = $key; 
      echo $value."\n"; 
     } 
    } 
} 



function validateEmail($email) { 
    return filter_var($email, FILTER_VALIDATE_EMAIL); 
} 
0

Trong trường hợp bạn đang sử dụng gmail, hãy chắc chắn bạn bật "Cho phép truy cập cho các ứng dụng kém an toàn" trong trang cài đặt tài khoản của tài khoản Google của bạn cho bạn có thể truy cập tài khoản gmail của mình bằng cách sử dụng imap_open()

Các vấn đề liên quan