diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php
index 813c0003087ff..ceedf598ee1cd 100644
--- a/htdocs/admin/mails.php
+++ b/htdocs/admin/mails.php
@@ -684,6 +684,7 @@ function change_smtp_auth_method() {
}
print $text;
+ // Note MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP is set to 1 by default if not set
if (getDolGlobalString('MAIN_MAIL_SENDMODE', 'mail') == 'mail' && getDolGlobalString('MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP')) {
$textwarning = $langs->trans("WarningPHPMail").'
'.$langs->trans("WarningPHPMailA").'
'.$langs->trans("WarningPHPMailB").'
'.$langs->trans("WarningPHPMailC").'
'.$langs->trans("WarningPHPMailD");
print $form->textwithpicto('', ''.$textwarning.'', 1, 'help', 'nomargintop');
@@ -1020,25 +1021,26 @@ function change_smtp_auth_method() {
}
if (getDolGlobalString('MAIN_MAIL_SENDMODE', 'mail') == 'mail') {
- if (getDolGlobalString('MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD')) {
+ if (getDolGlobalString('MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD')) { // Not defined by default. Depend on platform.
// List of string to add in SPF if the setup use the mail method. Example 'include:sendgrid.net include:spf.mydomain.com'
- $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPF", getDolGlobalString('MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD'));
+ $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPFDMARC", getDolGlobalString('MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD'));
} else {
// MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS is list of IPs where email is sent from. Example: '1.2.3.4, [aaaa:bbbb:cccc:dddd]'.
if (getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS')) {
// List of IP show as record to add in SPF if we use the mail method
- $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPF", getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS'));
+ $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPFDMARC", getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS'));
}
}
} else {
- if (getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS')) {
+ // smtps or swiftmail
+ if (getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS')) { // Not defined by default. Depend on platform.
// List of IP show as record to add as allowed IP if we use the smtp method. Value is '1.2.3.4, [aaaa:bbbb:cccc:dddd]'
// TODO Add a key to allow to show the IP/name of server detected dynamically
$text .= ($text ? '
' : '').$langs->trans("WarningPHPMail2", getDolGlobalString('MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS'));
}
if (getDolGlobalString('MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD')) { // Should be required only if you have preset the Dolibarr to use your own SMTP and you want to warn users to update their domain name to match your SMTP server.
// List of string to add in SPF if we use the smtp method. Example 'include:spf.mydomain.com'
- $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPF", getDolGlobalString('MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD'));
+ $text .= ($text ? '
' : '').$langs->trans("WarningPHPMailSPFDMARC", getDolGlobalString('MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD'));
}
}
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index a56273baf0a76..fe5bf3dd92390 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -1161,11 +1161,14 @@ function get_left_menu_home($mainmenu, &$newmenu, $usemenuhider = 1, $leftmenu =
$newmenu->add("/admin/pdf.php?mainmenu=home", $langs->trans("PDF"), 1);
$warnpicto = '';
+ /* No warning into menu entry, the message in Email setup page is enough
+ A warning will be important if a DMARC record exists and SPF is not aligned.
if (getDolGlobalString('MAIN_MAIL_SENDMODE', 'mail') == 'mail' && !getDolGlobalString('MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP')) {
$langs->load("errors");
$warnpicto = img_warning($langs->trans("WarningPHPMailD"));
}
- if (getDolGlobalString('MAIN_MAIL_SENDMODE') && in_array($conf->global->MAIN_MAIL_SENDMODE, array('smtps', 'swiftmail')) && !getDolGlobalString('MAIN_MAIL_SMTP_SERVER')) {
+ */
+ if (getDolGlobalString('MAIN_MAIL_SENDMODE') && in_array(getDolGlobalString('MAIN_MAIL_SENDMODE'), array('smtps', 'swiftmail')) && !getDolGlobalString('MAIN_MAIL_SMTP_SERVER')) {
$langs->load("errors");
$warnpicto = img_warning($langs->trans("ErrorSetupOfEmailsNotComplete"));
}
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 8b3b03557c454..c461743a92389 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -516,12 +516,12 @@ Use3StepsApproval=By default, Purchase Orders need to be created and approved by
UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than...
WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. This choice needs no technical knowledge to complete the setup.
However, it is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons:
WarningPHPMailA=- Using the server of the Email Service Provider increases the trustworthiness of your email, so it increases the deliverability without being flagged as SPAM
-WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota).
+WarningPHPMailB=- If the domain of your email (@mycompany.com) is protected by a SPF + a DMARC record, you email may be flagged as SPAM because the server sending the email may not be defined into the SPF record of the domain of the sender. In such a case, you must disable the DMARC for the domain (or set it to p=none like to @gmail.com) or, better, add the correct entry into your SPF record to allow this server to send email under the name or your domain.
WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox.
WarningPHPMailD=It is therefore recommended to change the sending method of e-mails to the value "SMTP".
WarningPHPMailDbis=If you really want to keep the default "PHP" method to send emails, just ignore this warning, or remove it by %sclicking here%s.
WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s.
-WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask your domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s.
+WarningPHPMailSPFDMARC=If the domain name in your sender email address is protected by a DMARC record different than p=none (ask your domain name registar), you must add the following IPs in the SPF record of the DNS of the domain: %s.
SPFAndDMARCInformation=SPF and DMARC DNS record for main email addresses
ActualMailDNSRecordFound=Actual %s record found (for email %s) : %s
ClickToShowDescription=Click to show description
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 626aa2a5c534a..1d9e1bec25a9a 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -516,12 +516,12 @@ Use3StepsApproval=Par défaut, les commandes fournisseurs nécessitent d'être c
UseDoubleApproval=Activer l'approbation en trois étapes si le montant HT est supérieur à...
WarningPHPMail=AVERTISSEMENT : La configuration pour envoyer des e-mails depuis l'application utilise la configuration générique par défaut. Ce choix ne nécessite aucune connaissance technique pour finaliser la configuration.
Cependant, il est souvent préférable de configurer les e-mails sortants pour utiliser le serveur de messagerie de votre fournisseur de message, au lieu de la configuration par défaut pour plusieurs raisons :
WarningPHPMailA=- L'utilisation du serveur du fournisseur de messagerie service augmente la fiabilité de votre courrier électronique, ce qui augmente la délivrabilité sans être signalé comme SPAM.
-WarningPHPMailB=- Certains fournisseurs de services de messagerie (comme Yahoo) ne vous permettent pas d'envoyer un e-mail à partir d'un autre serveur que leur propre serveur. Votre configuration actuelle utilise le serveur de l'application pour envoyer des e-mails et non le serveur de votre fournisseur de messagerie, donc certains destinataires (ceux compatibles avec le protocole DMARC restrictif), demanderont à votre fournisseur de messagerie si ils peuvent accepter votre message et ce fournisseur de messagerie (comme Yahoo) peut répondre «non» parce que le serveur d'envoi n'est pas le leur, aussi une partie de vos e-mails envoyés peuvent ne pas être acceptés pour la livraison (faites également attention au quota d'envoi de votre fournisseur de messagerie).
+WarningPHPMailB=- Si le domaine de votre email (@mycompany.com) est protégé par un enregistrement SPF + DMARC, votre email peut être signalé comme SPAM car le serveur qui envoie l'email peut ne pas être défini dans l'enregistrement SPF du domaine de l'expéditeur. Dans un tel cas, vous devez désactiver le DMARC pour le domaine (ou le définir sur p=none comme le fait @gmail.com) ou, mieux, ajouter l'entrée correcte dans votre enregistrement SPF pour permettre à ce serveur d'envoyer des emails sous le nom de votre domaine.
WarningPHPMailC=- Utiliser le serveur SMTP de votre propre fournisseur de services de messagerie pour envoyer des e-mails est également intéressant afin que tous les e-mails envoyés depuis l'application soient également enregistrés dans votre répertoire "Envoyés" de votre boîte aux lettres.
WarningPHPMailD=Il est donc recommandé de changer la méthode d'envoi des e-mails à la valeur "SMTP".
WarningPHPMailDbis=Si vous voulez vraiment conserver la méthode par défaut "PHP" pour envoyer des e-mails, ignorez simplement cet avertissement ou supprimez-le en %scliquant ici%s.
WarningPHPMail2=Si votre fournisseur de messagerie SMTP a besoin de restreindre le client de messagerie à certaines adresses IP (très rare), voici l'adresse IP du mail user agent (MUA) de votre application CRM ERP : %s .
-WarningPHPMailSPF=Si le nom de domaine de votre adresse e-mail d'expéditeur est protégé par un enregistrement SPF (demandez à votre fournisseur de nom de domaine), vous devez inclure les adresses IP suivantes dans l'enregistrement SPF du DNS de votre domaine: %s.
+WarningPHPMailSPF=Si le nom de domaine de votre adresse e-mail d'expéditeur est protégé par un enregistrement DMARC autre que p=none (voir ci-dessous), demandez à votre fournisseur de nom de domaine), vous devez inclure les adresses IP suivantes dans l'enregistrement SPF du DNS du domaine: %s.
ActualMailSPFRecordFound=Enregistrement SPF actuel trouvé (pour l'e-mail %s) : %s
ClickToShowDescription=Cliquer pour afficher la description
DependsOn=Ce module a besoin du(des) module(s)