Outlook365: IMAP, POP3, and SMTP settings
Outlook365 supports access via IMAP, POP3 and SMTP protocols. Below you can find the configuration settings for all protocols.
Latest Office 365 version
For latest Office 365 after the service upgrade, use the following settings:
IMAP
Server: outlook.office365.com
SSL: true-implicit, true-explicit (StartTLS)
Port: 993 (default), 143 (default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
POP3
Server: outlook.office365.com
SSL: true-implicit, true-explicit (StartTLS)
Port: 995 (default), 110 (default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
SMTP
Server: outlook.office365.com
SSL: true-explicit (StartTLS)
Port: 587(default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
IMAP and POP3 servers allow both: implicit SSL/TLS and explicit SSL/TLS, so you can ConnectSSL method -or- Connect and StartTLS.
SMTP server requires explicit SSL – use Connect and StartTLS method.
Authentication
For Exchange Online/Office 365, we recommend using OAuth 2.0 flows:
Daemons/Services: Password grant (MFA/2FA must be turned off for this account):
https://www.limilabs.com/blog/oauth2-password-grant-office365-exchange-imap-pop3-smtp
Daemons/Services: Client credential flow:
https://www.limilabs.com/blog/oauth2-client-credential-flow-office365-exchange-imap-pop3-smtp
Web apps (requires user interaction):
https://www.limilabs.com/blog/oauth2-web-flow-office365-exchange-imap-pop3-smtp
Standalone devices (requires very little interaction):
https://www.limilabs.com/blog/oauth2-device-flow-office365-exchange-imap-pop3-smtp
Desktop apps (requires user interaction):
https://www.limilabs.com/blog/oauth2-office365-exchange-imap-pop3-smtp
It is no longer possible to re-enable Basic Auth or use App passwords.
// C#
using (Imap client = new Imap())
{
client.ConnectSSL("outlook.office365.com");
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken");
...
}
using (Pop3 client = new Pop3())
{
client.ConnectSSL("outlook.office365.com");
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken");
...
}
using (Smtp client = new Smtp ())
{
client.Connect("outlook.office365.com");
client.StartTLS();
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken");
...
}
' VB.NET
Using client As New Imap()
client.ConnectSSL("outlook.office365.com")
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken")
...
End Using
Using client As New Pop3()
client.ConnectSSL("outlook.office365.com")
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken")
...
End Using
Using client As New Smtp()
client.Connect("outlook.office365.com")
client.StartTLS()
client.UseBestLogin("user@domain.onmicrosoft.com", "accesstoken")
...
End Using
Office 365 pre-upgrade
For latest Office 365 pre-upgrade, use the following settings:
On the main screen go to “Options” / “See All Options…”:
Now click the “Settings for POP, IMAP, and SMTP access…” link:
You can find POP, SMTP and IMAP server addresses and settings on the popup window:
Office365 uses default ports for IMAP, POP3 and SMTP protocols. That means that you don’t need to remember port numbers, as Mail.dll .NET email component is going to use correct port numbers by default.
IMAP
Server: podXXXX.outlook.com
SSL: true-implicit
Port: 993 (default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
POP3
Server: podXXXX.outlook.com
SSL: true-implicit
Port: 995 (default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
SMTP
Server: podXXXX.outlook.com
SSL: true-explicit
Port: 587 (default)
User: pat@domain.onmicrosoft.com or pat@your-domain.com
You can find more details about using implicit and explicit SSL or TLS with email protocols: