Access emails using imap

2020-05-20 00:25发布

问题:

I am using Apache on Ubuntu 14.02 and running php on the same.I have connected to a remote mssql server hence no need of mysql .

I want to know how to connect to an email id registered with gmail in order to read the incoming emails .

I have tried the below , but it shows a blank screen while running it from my localhost :

<?php

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

?>

I am inserting my actual gmail username and password while running the program . I want to know if i am missing something .

Many Thanks

回答1:

Here is the solution:

  1. Login to your gmail account, enable imap.

  2. Let the access here first: https://www.google.com/settings/security/lesssecureapps

  3. Go to: https://accounts.google.com/b/0/DisplayUnlockCaptcha and enable access.

That's it.

I had the exact same problem when I try to get emails with imap on php. I was running the exact same script that I know it works with my other gmail.

The solution is above and the error message was:

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



回答2:

Have you activated the imap.so extension in your php.ini file ? extension=imap.so it's a basical cause of issues on localhost server



回答3:

Try this (you need to turn on your Outbound relay):

  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.