web-dev-qa-db-fra.com

Impossible d'envoyer des courriels après la migration de joomla hébergé vers localhost

J'ai du mal à envoyer des emails avec Joomla! 3.6.5 Je reçois un message Avis ?? échec de la connexion SMTP ??

Les paramètres du fichier de configuration sont les mêmes que ceux du site Web hébergé.

public $sendmail = '/usr/sbin/sendmail';
public $smtpauth = '0';
public $smtpuser = '';
public $smtppass = '';
public $smtphost = 'localhost';
public $smtpsecure = 'none';
public $smtpport = '25';

Des suppositions?

2
Henry Lynx

Vous devez disposer d'un compte de serveur smtp valide pour pouvoir envoyer des courriels via SMTP.

Vos paramètres de configuration indiquent:

Hôte SMTP = localhost
Utilisateur SMTP = ''; // aucun, vide
Mot de passe SMTP = ''; // aucun, vide

Depuis que je vois localhost pour l'hôte, je suppose que vous voulez utiliser le serveur smtp de notre compte d'hébergement. Dans ce cas, vous devez interroger votre fournisseur d'hébergement sur l'hôte SMTP, les informations d'identification, les informations et ajuster le fichier de configuration en conséquence.

3
FFrewin

Option 1:

Pour que vous puissiez utiliser l'option SMTP dans Joomla! sur votre installation locale, vous aurez besoin d'un service SMTP installé sur ce PC à l'écoute du port 25 (ou du port que vous attribuez).

Si vous ne disposez pas d'un service SMTP sur votre PC (ce que vous n'avez probablement pas), vous pouvez modifier:

public $mailer = 'smtp';

À:

public $mailer = 'mail';

Cela définira votre Joomla! Installation pour utiliser le PHP mailer (que vous avez déjà si vous exécutez Joomla! localement). Vous pouvez laisser tous vos autres paramètres SMTP intacts car ils ne seront pas utilisés. prêt à envoyer le site sur le serveur Web, vous pouvez modifier mail à smtp.


Option 2:

Si vous devez tester la fonctionnalité SMTP lors de l'exécution du programme J! localement, vous devez obtenir l’adresse IP du serveur Web exécutant votre service SMTP. Donc, si l'adresse IP de votre serveur Web est 55.55.55.55, alors vous changeriez:

public $smtphost = 'localhost';

À:

public $smtphost = '55.55.55.55';

Cela garantira que votre PC communiquera avec le serveur de messagerie/Web au lieu de votre PC local au moment de l'envoi des messages. Ces mêmes paramètres fonctionneront quel que soit l'emplacement de votre lecteur J! site car le site communiquera toujours avec le même serveur.


ATTENTION:

Si les paramètres de votre publication fonctionnent pour [~ # ~] tous les [~ # ~] serveur, alors je abandonnerais ce serveur immédiatement ! Comme il n’est pas nécessaire d’autoriser l’envoi (public $smtpauth = '0';), toute personne possédant l'adresse IP de votre serveur sera en mesure de envoyer un nombre illimité de messages de SPAM. Si tel est le cas, le passage à un service SMTP tel que Amazon SES est peut-être votre meilleur choix (ils ont un grand niveau gratuit ).

1
Michael Yaeger

J'ai également remarqué que votre mot de passe et votre nom d'utilisateur étaient vides dans les configurations que vous avez publiées: essentiellement, vous n'avez pas réellement SMTP et, comme l'avertissement l'avertit Michael, votre hôte précédent vous autorisait simplement à envoyer sans aucune autorisation et créait une faille de sécurité.

Un hôte disposera d'une documentation sur ses exigences et paramètres SMTP. Votre localhost est un peu plus haut dans les airs et pourrait même ne pas permettre les paramètres de messagerie PHP.

Réponse: inscrivez-vous pour un service SMTP et utilisez ces informations d'identification

Nous utilisons SendGrid pour cela en raison du volume élevé de sites que nous gérons. Cependant, il existe une version gratuite pour les comptes individuels (elle s'appelle Trial, mais elle n'est pas limitée dans le temps, mais uniquement par le nombre de courriels), et ils ont beaucoup de documentation. Les paramètres par défaut, qui devraient fonctionner pour votre installation Joomla sur un hôte local sont les suivants:

Remplacez vos identifiants SendGrid par votre nom d'utilisateur et votre mot de passe SMTP, définissez le nom d'hôte du serveur sur smtp.sendgrid.net, utilisez les ports 25 ou 587 pour les connexions standard/TLS et le port 465 pour les connexions SSL.

J'ai trouvé que sur Joomla 3.0.0 - 3.4.x, 465 SSL était la meilleure solution, mais les versions 3.5.x et supérieures nécessaires avaient le port 587 et une connexion simple. Bien sûr, tout cela était soumis à l'hôte, mais un bon hôte disposera d'une documentation pour vous aider à trouver les bons paramètres.

Je ne peux pas les recommander assez. Nous avons parcouru le tournant SMTP pour Joomla et Wordpress, et SendGrid est la solution personnalisable qui s'adapte à toutes les situations.

1
Faye

Le problème que nous avons avec sendgrid et mailgun est qu’une fois que vous avez configuré et envoyé, ils vont changer leur adresse IP et tous les détails de la connexion échouent. Ils ont un système de rotation pour le smtp ip qui coupe la connexion sur notre serveur.

0
Wicko