Setup EMails: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
Line 16: Line 16:
The EMails setup screen allows you to setup Dolibarr to send EMails and to test your setup.
The EMails setup screen allows you to setup Dolibarr to send EMails and to test your setup.


= E-Mails setup parameters =
=E-Mails setup parameters=
This is explanation of all setup parameters:
This is explanation of all setup parameters:


== Disable globally all emails sendings (test mode or demo) ==
==Disable globally all emails sendings (test mode or demo)==
Set this to No. If you set to yes (for a demo system for example), no more mail will be sent.
Set this to No. If you set to yes (for a demo system for example), no more mail will be sent.


== Method to send emails ==
==Method to send emails==
* The default method is '''PHP mail function'''. This means that Dolibarr use your PHP to send emails. This suppose your PHP setup is complete. If you don't know how to setup PHP for email sending, prefer next method.
 
* If your email sending server needs authentication, or if you don't have permission or knowledge to setup your PHP, choose the second method: '''SMTP/SMTPS socket library''' (or '''Swift Mailer socket library''' if you fails to make the previous one working with your email provider).
*The default method is '''PHP mail function'''. This means that Dolibarr use your PHP to send emails. This suppose your PHP setup is complete. If you don't know how to setup PHP for email sending, prefer next method.
*If your email sending server needs authentication, or if you don't have permission or knowledge to setup your PHP, choose the second method: '''SMTP/SMTPS socket library''' (or '''Swift Mailer socket library''' if you fails to make the previous one working with your email provider).




Line 34: Line 35:
by your Email provider.
by your Email provider.


== Hostname or ip address of SMTP/SMTPS sending server ==
==Hostname or ip address of SMTP/SMTPS sending server==
Name or IP address of the server that send mail. It is usually an name like smtp.xxx.zzz provided by your Internet Service Provider.
Name or IP address of the server that send mail. It is usually an name like smtp.xxx.zzz provided by your Internet Service Provider.


For example:  
For example:  
* smtp.aol.com
* smtp.free.fr
* smtp.myprovider.com
* smtp.gmail.com (with login/pass of gmail or gmail for works account)
* smtp-relay.gmail.com (with mode relay of gmail for works)


== Port of SMTP/SMTPS sending server ==
*smtp.aol.com
*smtp.free.fr
*smtp.myprovider.com
*smtp.gmail.com (with login/pass of gmail or gmail for works account)
*smtp-relay.gmail.com (with mode relay of gmail for works)
 
==Port of SMTP/SMTPS sending server==
If the email sending server use the standard port (25), you can let the field empty.
If the email sending server use the standard port (25), you can let the field empty.


Other examples:  
Other examples:  
* 25 (SMTP standard)
* 465 (SMTPS gmail of free gmail or gmail for works)
* 25, 465 or 587 (SMTP gmail with the mode relay available with gmail for works, depending on setup)


== SMTP Authentification ID ==
*25 (SMTP standard)
*465 (SMTPS gmail of free gmail or gmail for works)
*25, 465 or 587 (SMTP gmail with the mode relay available with gmail for works, depending on setup)
 
==SMTP Authentification ID==
Visible if you have choose '''SMTP/SMTPS socket library''' as sending method. Put here your login.
Visible if you have choose '''SMTP/SMTPS socket library''' as sending method. Put here your login.


== SMTP Authentification Password ==
==SMTP Authentification Password==
Visible if you have choose '''SMTP/SMTPS socket library''' as sending method. Put here your password.
Visible if you have choose '''SMTP/SMTPS socket library''' as sending method. Put here your password.


== Usage of TLS (SSL) ==
==Usage of TLS (SSL)==
Some emails servers require encrypted communication (For example the SMTP server of Google smtp.gmail.com. It's SMTPS).
Some emails servers require encrypted communication (For example the SMTP server of Google smtp.gmail.com. It's SMTPS).


Line 66: Line 69:


Note: There is 2 different types of SMTP secured encoding:
Note: There is 2 different types of SMTP secured encoding:
* Sending SMTP protocol inside a crypted stream ('''SSL''' or '''non standard TLS'''). Server is often running on port '''465'''.
 
* Sending crypted data inside SMTP ('''TLS using STARTTLS'''). Server is often running on port '''587'''.  
*Sending SMTP protocol inside a crypted stream ('''SSL''' or '''non standard TLS'''). Server is often running on port '''465'''.
*Sending crypted data inside SMTP ('''TLS using STARTTLS'''). Server is often running on port '''587'''.
 
Dolibarr option can manage the first case, the second one is supported started to 4.0+.
Dolibarr option can manage the first case, the second one is supported started to 4.0+.


More information on difference between TLS and STARTTLS here: https://www.fastmail.com/help/technical/ssltlsstarttls.html
More information on difference between TLS and STARTTLS here: https://www.fastmail.com/help/technical/ssltlsstarttls.html


== EMail used as sender for automatic emails ==
==EMail used as sender for automatic emails==
EMail that will be used by Dolibarr as emails sender if sender is not explicitly defined.
EMail that will be used by Dolibarr as emails sender if sender is not explicitly defined.




== Examples for common Mail server setup ==
==Examples for common Mail server setup==
 
===Gmail (with login/pass)===


=== Gmail (with login/pass) ===
*SMTP server: smtp.gmail.com
* SMTP server: smtp.gmail.com
*Port: 465
* Port: 465
*SMTP Username: Your Gmail login (xxx@gmail.com or xxx@yourdomain.com)
* SMTP Username: Your Gmail login (xxx@gmail.com or xxx@yourdomain.com)
*SMTP Password: Your Gmail password
* SMTP Password: Your Gmail password
*Use TLS: Use TLS (SSL) encrypt: yes
* Use TLS: Use TLS (SSL) encrypt: yes  
*Use TLS (STARTTLS) encrypt: no
* Use TLS (STARTTLS) encrypt: no


[[File:warning.png]] Because using this smtps access need to store your login/pass into application, this access is classified by Google as a "less secured access". So check such access are enabled on your Google account dashboard "Access for less secured application" on http://www.google.com/settings/security/lesssecureapps
[[File:warning.png]] Because using this smtps access need to store your login/pass into application, this access is classified by Google as a "less secured access". So check such access are enabled on your Google account dashboard "Access for less secured application" on http://www.google.com/settings/security/lesssecureapps. Also not that Google will probably close this feature in february 2021.


[[File:warning.png]] Also, if you have email aliases on your account, be sure to set here the main username and not alias.
[[File:warning.png]] Also, if you have email aliases on your account, be sure to set here the main username and not alias.
Line 94: Line 100:
Note: With this mode, emails sent are automatically added into "Sent" folder of the '''main account'''. If your are a Gsuite user with several users/mailboxes, prefer to use the next method.
Note: With this mode, emails sent are automatically added into "Sent" folder of the '''main account'''. If your are a Gsuite user with several users/mailboxes, prefer to use the next method.


=== Gmail (with mode relay of Gmail with GSuite) ===
===Gmail (with mode relay of Gmail with GSuite)===
* SMTP server: smtp-relay.gmail.com
 
* Port: 25, 465 or 587
*SMTP server: smtp-relay.gmail.com
* Use TLS: Depend on relay setup
*Port: 25, 465 or 587
* Keep login/pass empty
*Use TLS: Depend on relay setup
*Keep login/pass empty


Note: You must first setup your Google account to relay outgoing email and to set the list of ip of your SMTP clients (https://admin.google.com, GMail - Advanced setup - Routing).
Note: You must first setup your Google account to relay outgoing email and to set the list of ip of your SMTP clients (https://admin.google.com, GMail - Advanced setup - Routing).
Line 105: Line 112:
If your are a Gsuite user with several users/mailboxes, this mode is required if you want to have each user having its sent mails automatically stored into its own "Sent" directory of Gmail.
If your are a Gsuite user with several users/mailboxes, this mode is required if you want to have each user having its sent mails automatically stored into its own "Sent" directory of Gmail.


=== iCloud ===
===iCloud===


iCloud does not support SSL/TLS, only TLS with STARTTLS, so you must use Dolibarr 4.0+ to use it.
iCloud does not support SSL/TLS, only TLS with STARTTLS, so you must use Dolibarr 4.0+ to use it.


Setup would be:
Setup would be:
* Server: smtp.mail.me.com
* User name: Your iCloud Mail email address (Do include the domain name—what follows "@" in your iCloud Mail address; if your iCloud Mail email address is "me@icloud.com", for instance, do use "me@icloud.com" as the user name.)
* Password: iCloud Mail SMTP password: Your iCloud Mail password or an app-specific password (with two-step authentication enabled)
* Port: 587
* Use TLS: Use TLS (SSL) encrypt: no
* Use TLS (STARTTLS) encrypt: yes


=== Office365 / Exchange server ===
*Server: smtp.mail.me.com
*User name: Your iCloud Mail email address (Do include the domain name—what follows "@" in your iCloud Mail address; if your iCloud Mail email address is "me@icloud.com", for instance, do use "me@icloud.com" as the user name.)
*Password: iCloud Mail SMTP password: Your iCloud Mail password or an app-specific password (with two-step authentication enabled)
*Port: 587
*Use TLS: Use TLS (SSL) encrypt: no
*Use TLS (STARTTLS) encrypt: yes
 
===Office365 / Exchange server===


Setup would be:
Setup would be:
* Server: smtp.office365.com (Microsoft Office 365, Exchange Server).and smtp-mail.outlook.com
* User name: Your email account
* Password: Your password account
* Port: 587
* Use TLS: Use TLS (SSL) encrypt: no
* Use TLS (STARTTLS) encrypt: yes


=== SendGrid ===
*Server: smtp.office365.com (Microsoft Office 365, Exchange Server).and smtp-mail.outlook.com
*User name: Your email account
*Password: Your password account
*Port: 587
*Use TLS: Use TLS (SSL) encrypt: no
*Use TLS (STARTTLS) encrypt: yes
 
===SendGrid===


Setup would be:
Setup would be:
* Server: smtp.sendgrid.net
* User name: Your SendGrid api key
* Password: Your SendGrid api pass
* Port: 2525
* Use TLS: Use TLS (SSL) encrypt: no
* Use TLS (STARTTLS) encrypt: yes


=== Outlook ===
*Server: smtp.sendgrid.net
*User name: Your SendGrid api key
*Password: Your SendGrid api pass
*Port: 2525
*Use TLS: Use TLS (SSL) encrypt: no
*Use TLS (STARTTLS) encrypt: yes
 
===Outlook===


Outlook is probably the worst platform we know to manage emails. It is not compliant with most web and emails standard so the setup is often difficult with this platform. Documentation about SMTP credential is also poor. It depends on a lot of parameters saved into your Outlook platform. Ask the parameters to use the SMTP server of your Outlook platform to your Outlook provider. Only your Outlook provider is able to give you this parameters. If you can't contact him, I'm afraid, trying any combination of parameters is the only solution to find the good one with this  email platform.
Outlook is probably the worst platform we know to manage emails. It is not compliant with most web and emails standard so the setup is often difficult with this platform. Documentation about SMTP credential is also poor. It depends on a lot of parameters saved into your Outlook platform. Ask the parameters to use the SMTP server of your Outlook platform to your Outlook provider. Only your Outlook provider is able to give you this parameters. If you can't contact him, I'm afraid, trying any combination of parameters is the only solution to find the good one with this  email platform.




 
===Several smtp logins or servers===
=== Several smtp logins or servers ===
If you need to have each user to use a different SMTP login account or a different SMTP server, you might be interested into the module MULTISMTP: https://www.dolistore.com/en/moduliplugin/458-MultiSMTP.html
If you need to have each user to use a different SMTP login account or a different SMTP server, you might be interested into the module MULTISMTP: https://www.dolistore.com/en/moduliplugin/458-MultiSMTP.html
Note that in most cases, even if each user has its own email address and its own mailbox and "Sent" directory, using several SMTP login/servers is not required (see for example the comment for Gmail setup using the "relay" mode).
Note that in most cases, even if each user has its own email address and its own mailbox and "Sent" directory, using several SMTP login/servers is not required (see for example the comment for Gmail setup using the "relay" mode).


= Actions =
=Actions=
== Test server availability ==
==Test server availability==
This button is to test if you can communicate with the server. This allow you validate the parameter:
This button is to test if you can communicate with the server. This allow you validate the parameter:
* Hostname or ip address of SMTP/SMTPS sending server
* Port of SMTP/SMTPS sending server
* Usage of TLS (SSL)


== Test send email ==
*Hostname or ip address of SMTP/SMTPS sending server
*Port of SMTP/SMTPS sending server
*Usage of TLS (SSL)
 
==Test send email==
This button is to test what happens when you send an email with simple text content.
This button is to test what happens when you send an email with simple text content.


== Test send email HTML ==
==Test send email HTML==
This button is to test what happens when you send an email with HTML content.
This button is to test what happens when you send an email with HTML content.


== SPAM troubles ==
==SPAM troubles==
If your email is set as SPAM by your EMail reader, you can test to send en email to this service to get more information why your email is set as SPAM: http://www.mail-tester.com/
If your email is set as SPAM by your EMail reader, you can test to send en email to this service to get more information why your email is set as SPAM: http://www.mail-tester.com/




= Emails Tracking =
=Emails Tracking=
Like most modern ERP and email clients, all emails sent by Dolibarr contains a header line "Reference" with a tracking information to know from which source element the email were sent. This tracking informations will also be present into the emails answer, but only if the reader sent the answer using the "Answer to" feature of its email reader and not by creating a new email from scratch of course.
Like most modern ERP and email clients, all emails sent by Dolibarr contains a header line "Reference" with a tracking information to know from which source element the email were sent. This tracking informations will also be present into the emails answer, but only if the reader sent the answer using the "Answer to" feature of its email reader and not by creating a new email from scratch of course.
This tracking id can be used by the "Email collector" module that scan your mailbox and can automatically store the answer as en event in your Dolibarr, at the good place (same customer and same quotation for example).
This tracking id can be used by the "Email collector" module that scan your mailbox and can automatically store the answer as en event in your Dolibarr, at the good place (same customer and same quotation for example).

Revision as of 16:04, 17 December 2019

Help about screen: EMail setup

Menu path: Home -> Setup -> EMails


The EMails setup screen allows you to setup Dolibarr to send EMails and to test your setup.

E-Mails setup parameters

This is explanation of all setup parameters:

Disable globally all emails sendings (test mode or demo)

Set this to No. If you set to yes (for a demo system for example), no more mail will be sent.

Method to send emails

  • The default method is PHP mail function. This means that Dolibarr use your PHP to send emails. This suppose your PHP setup is complete. If you don't know how to setup PHP for email sending, prefer next method.
  • If your email sending server needs authentication, or if you don't have permission or knowledge to setup your PHP, choose the second method: SMTP/SMTPS socket library (or Swift Mailer socket library if you fails to make the previous one working with your email provider).


Warning.png WARNING

Some email provider (like Yahoo) does not allow you to send an email from another server than the Yahoo server if the email address used as a sender is a Yahoo email (for example myemail@yahoo.com, myemail@yahoo.fr, ...). If you sue the PHPmail method, it means you will use the server of your application to send emails, so some recipients (the one compatible with DMARC protocol), will ask Yahoo if they can accept your email and Yahoo will respond "no" because the server is not a Yahoo server, and some of your Emails may not be received.
If like Yahoo, your Email provider has this restriction, you must set this setup to choose the other method "SMTP/SMTPS socket library" and enter here the SMTP server and credentials provided by your Email provider.

Hostname or ip address of SMTP/SMTPS sending server

Name or IP address of the server that send mail. It is usually an name like smtp.xxx.zzz provided by your Internet Service Provider.

For example:

  • smtp.aol.com
  • smtp.free.fr
  • smtp.myprovider.com
  • smtp.gmail.com (with login/pass of gmail or gmail for works account)
  • smtp-relay.gmail.com (with mode relay of gmail for works)

Port of SMTP/SMTPS sending server

If the email sending server use the standard port (25), you can let the field empty.

Other examples:

  • 25 (SMTP standard)
  • 465 (SMTPS gmail of free gmail or gmail for works)
  • 25, 465 or 587 (SMTP gmail with the mode relay available with gmail for works, depending on setup)

SMTP Authentification ID

Visible if you have choose SMTP/SMTPS socket library as sending method. Put here your login.

SMTP Authentification Password

Visible if you have choose SMTP/SMTPS socket library as sending method. Put here your password.

Usage of TLS (SSL)

Some emails servers require encrypted communication (For example the SMTP server of Google smtp.gmail.com. It's SMTPS).

The only method that support this protocol is SMTP/SMTPS socket library. You must enable cryptography by setting this method if you need such encryption.

Note: SSL functions must be available in your PHP. If not, you probably forget to install the openssl module of PHP.

Note: There is 2 different types of SMTP secured encoding:

  • Sending SMTP protocol inside a crypted stream (SSL or non standard TLS). Server is often running on port 465.
  • Sending crypted data inside SMTP (TLS using STARTTLS). Server is often running on port 587.

Dolibarr option can manage the first case, the second one is supported started to 4.0+.

More information on difference between TLS and STARTTLS here: https://www.fastmail.com/help/technical/ssltlsstarttls.html

EMail used as sender for automatic emails

EMail that will be used by Dolibarr as emails sender if sender is not explicitly defined.


Examples for common Mail server setup

Gmail (with login/pass)

  • SMTP server: smtp.gmail.com
  • Port: 465
  • SMTP Username: Your Gmail login (xxx@gmail.com or xxx@yourdomain.com)
  • SMTP Password: Your Gmail password
  • Use TLS: Use TLS (SSL) encrypt: yes
  • Use TLS (STARTTLS) encrypt: no

Warning.png Because using this smtps access need to store your login/pass into application, this access is classified by Google as a "less secured access". So check such access are enabled on your Google account dashboard "Access for less secured application" on http://www.google.com/settings/security/lesssecureapps. Also not that Google will probably close this feature in february 2021.

Warning.png Also, if you have email aliases on your account, be sure to set here the main username and not alias.

Warning.png Note also that when sending email with google smtps, if the email of sender is not the google email, neither a declared alias, google will replace the "From" visible by the recipient with your default email alias (but the reply to will still be the sender email even if not declared)

Note: With this mode, emails sent are automatically added into "Sent" folder of the main account. If your are a Gsuite user with several users/mailboxes, prefer to use the next method.

Gmail (with mode relay of Gmail with GSuite)

  • SMTP server: smtp-relay.gmail.com
  • Port: 25, 465 or 587
  • Use TLS: Depend on relay setup
  • Keep login/pass empty

Note: You must first setup your Google account to relay outgoing email and to set the list of ip of your SMTP clients (https://admin.google.com, GMail - Advanced setup - Routing). Note: With this mode, emails sent are also saved into "Sent" folder only if option "Stock a copy of all emails sent..." is on.

If your are a Gsuite user with several users/mailboxes, this mode is required if you want to have each user having its sent mails automatically stored into its own "Sent" directory of Gmail.

iCloud

iCloud does not support SSL/TLS, only TLS with STARTTLS, so you must use Dolibarr 4.0+ to use it.

Setup would be:

  • Server: smtp.mail.me.com
  • User name: Your iCloud Mail email address (Do include the domain name—what follows "@" in your iCloud Mail address; if your iCloud Mail email address is "me@icloud.com", for instance, do use "me@icloud.com" as the user name.)
  • Password: iCloud Mail SMTP password: Your iCloud Mail password or an app-specific password (with two-step authentication enabled)
  • Port: 587
  • Use TLS: Use TLS (SSL) encrypt: no
  • Use TLS (STARTTLS) encrypt: yes

Office365 / Exchange server

Setup would be:

  • Server: smtp.office365.com (Microsoft Office 365, Exchange Server).and smtp-mail.outlook.com
  • User name: Your email account
  • Password: Your password account
  • Port: 587
  • Use TLS: Use TLS (SSL) encrypt: no
  • Use TLS (STARTTLS) encrypt: yes

SendGrid

Setup would be:

  • Server: smtp.sendgrid.net
  • User name: Your SendGrid api key
  • Password: Your SendGrid api pass
  • Port: 2525
  • Use TLS: Use TLS (SSL) encrypt: no
  • Use TLS (STARTTLS) encrypt: yes

Outlook

Outlook is probably the worst platform we know to manage emails. It is not compliant with most web and emails standard so the setup is often difficult with this platform. Documentation about SMTP credential is also poor. It depends on a lot of parameters saved into your Outlook platform. Ask the parameters to use the SMTP server of your Outlook platform to your Outlook provider. Only your Outlook provider is able to give you this parameters. If you can't contact him, I'm afraid, trying any combination of parameters is the only solution to find the good one with this email platform.


Several smtp logins or servers

If you need to have each user to use a different SMTP login account or a different SMTP server, you might be interested into the module MULTISMTP: https://www.dolistore.com/en/moduliplugin/458-MultiSMTP.html Note that in most cases, even if each user has its own email address and its own mailbox and "Sent" directory, using several SMTP login/servers is not required (see for example the comment for Gmail setup using the "relay" mode).

Actions

Test server availability

This button is to test if you can communicate with the server. This allow you validate the parameter:

  • Hostname or ip address of SMTP/SMTPS sending server
  • Port of SMTP/SMTPS sending server
  • Usage of TLS (SSL)

Test send email

This button is to test what happens when you send an email with simple text content.

Test send email HTML

This button is to test what happens when you send an email with HTML content.

SPAM troubles

If your email is set as SPAM by your EMail reader, you can test to send en email to this service to get more information why your email is set as SPAM: http://www.mail-tester.com/


Emails Tracking

Like most modern ERP and email clients, all emails sent by Dolibarr contains a header line "Reference" with a tracking information to know from which source element the email were sent. This tracking informations will also be present into the emails answer, but only if the reader sent the answer using the "Answer to" feature of its email reader and not by creating a new email from scratch of course. This tracking id can be used by the "Email collector" module that scan your mailbox and can automatically store the answer as en event in your Dolibarr, at the good place (same customer and same quotation for example).