2014-07-02 36 views
10

Tôi đang sử dụng Apache trên Ubuntu 14.02 và chạy php trên cùng. Tôi đã kết nối với máy chủ mssql từ xa do đó không cần mysql.Truy cập email bằng imap

Tôi muốn biết cách kết nối với id email đã đăng ký với gmail để đọc email đến.

Tôi đã cố gắng bên dưới, nhưng nó cho thấy một màn hình trống trong khi chạy nó từ localhost của tôi:

<?php 

error_reporting('E_ALL'); 
$mailboxPath = "{imap.gmail.com:993/imap/ssl}INBOX"; 
$username = "[email protected]"; 
$password = "mypassword"; 
$imap = imap_open($mailboxPath, $username, $password); 
print_r($imap); 

?> 

Tôi chèn tên người dùng Gmail thực tế của tôi và mật khẩu khi chạy chương trình. Tôi muốn biết nếu tôi đang thiếu một cái gì đó.

Nhiều Cảm ơn

+0

đầu ra của 'imap_last_error()' là gì? –

+0

1) tên người dùng và mật khẩu của bạn có đúng không? 2) thay đổi dòng '$ imap = imap_open ($ mailboxPath, $ username, $ password);' thành '$ imap = imap_open ($ mailboxPath, $ username, $ password) hoặc chết ('Không thể kết nối với Gmail:'. Imap_last_error ()); '. Bây giờ bạn sẽ được chú ý, tại sao bạn không thể kết nối vào Gmail. – pes502

+0

Xin chào, cảm ơn bạn đã trả lời, dưới đây là lỗi của tôi: Không thể kết nối với Gmail: Không thể xác thực với máy chủ IMAP: [ALERT] Vui lòng đăng nhập qua trình duyệt web của bạn: http://support.google.com/ mail/accounts – user3790233

Trả lời

0

Bạn đã kích hoạt phần mở rộng imap.so trong tập tin php.ini của bạn? extension=imap.so đó là một nguyên nhân basical các vấn đề trên máy chủ localhost

+0

Có, tôi đã thêm nó .Yet không hoạt động. – user3790233

+0

vì vậy bạn có thể không kích hoạt OpenSSL trên localhost – DanIdle

+0

nếu không phải là sự cố ssl, vui lòng đăng nhập vào tài khoản gmail của bạn bằng liên kết bạn nhận được trong thông báo lỗi nếu bạn có thông báo về kết nối khả nghi và xác thực khách hàng mới bằng cách nhập thông tin đăng nhập và mật khẩu của bạn – DanIdle

0

Hãy thử điều này (bạn cần phải bật rơle Outbound của bạn):

  1. Log into your account at google.com/a/yourdomain.com
  2. Click the Settings tab and then select Email in the left column.
  3. In the Outbound relay section, select Allow users to send mail through an external SMTP when configuring a "from" address hosted outside your domain.
  4. Click Save changes.
+0

Tôi không chắc chắn ý của bạn là gì bởi google.com/a/yourdomain.com. Tôi muốn truy cập hộp thư đến gmail được cá nhân hóa. Tôi không thấy bất kỳ cài đặt nào hoặc bất kỳ tab nào để thực hiện với chuyển tiếp Outbound.Cảm ơn bạn. – user3790233

31

Dưới đây là giải pháp:

  1. Đăng nhập vào gmail của bạn tài khoản, kích hoạt imap.

  2. Hãy để truy cập tại đây đầu tiên: https://www.google.com/settings/security/lesssecureapps

  3. Go to: https://accounts.google.com/b/0/DisplayUnlockCaptcha và cho phép truy cập.

Vậy đó.

Tôi gặp vấn đề tương tự khi tôi cố gắng nhận email với imap trên php. Tôi đã chạy cùng một tập lệnh chính xác mà tôi biết nó hoạt động với gmail khác của tôi.

Giải pháp là ở trên và thông báo lỗi là:

ERROR: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser

+0

Và cài đặt IMAP mặc định chỉ tốt khi bạn bật IMAP trên cài đặt tài khoản của mình. Nếu bạn gặp sự cố khi di chuyển thư, hãy đảm bảo tiếng Anh - Hoa Kỳ được chọn trên cài đặt ngôn ngữ tiểu sử của bạn. – Tarik

+2

Câu trả lời này phải được đánh dấu là đã chấp nhận –

+0

Perfect..worked mượt mà ... –

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