web-dev-qa-db-fra.com

Impossible d'envoyer un e-mail via sendmail, car l'utilisateur est inconnu

*hostname.domain.com is substituted throughout for my actual subdomain*

Ma configuration

J'ai Drupal 7.14 sur un OpenVZ VPS en cours d'exécution buntu 11.1 (également testé avec 10.04). Ubuntu a installé les versions du référentiel d'Apache2/php5/mysql, (pas le métapaquet LAMP) avec php5.ini configuré pour vider tous les messages d'erreur dans syslog.

Mon problème

De manière cohérente, lorsque le site doit envoyer un e-mail à n'importe quelle adresse, il renvoie:

Impossible d'envoyer un e-mail. Contactez l'administrateur du site si le problème persiste.

Et l'erreur Drupal dans les readds des "derniers messages du journal":

Erreur lors de l'envoi du courrier électronique (de [email protected] à [email protected]).

Cette erreur apparaît dans les journaux Drupal, quelle que soit l'adresse à laquelle l'e-mail est envoyé.

L'e-mail finit par être envoyé après un court délai. Habituellement 1 seconde, mais également 6 secondes ou plus.

Contenu de Syslog

Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: Authentication-Warning: hostname.domain.com: www-data set sender to [email protected] using -f
Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: [email protected], size=649, class=0, nrcpts=1, msgid=<[email protected]>, relay=www-data@localhost
Sep 21 13:22:34 hostname sm-mta[1649]: q8LDMYxB001649: from=<[email protected]>, size=1023, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30649, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LDMYxB001649 Message accepted for delivery)
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: Authentication-Warning: hostname.domain.com: www-data set sender to [email protected] using -f
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: [email protected], size=465, class=0, nrcpts=1, msgid=<[email protected]>, relay=www-data@localhost
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0G001654: <[email protected]>... User unknown
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30465, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0G001654: from=<[email protected]>, size=465, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: q8LDMYgp001653: DSN: User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: <[email protected]>... User unknown
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgp001653: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31489, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: from=<>, size=1489, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgp001653: q8LDMYgq001653: return to sender: User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0K001654: from=<>, size=4700, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgq001653: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32513, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LDMY0K001654 Message accepted for delivery)
Sep 21 13:22:34 hostname sm-mta[1655]: q8LDMY0K001654: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=34947, dsn=2.0.0, stat=Sent
Sep 21 13:22:40 hostname sm-mta[1651]: q8LDMYxB001649: to=<[email protected]>, delay=00:00:06, xdelay=00:00:06, mailer=esmtp, pri=121023, relay=fakedomain.com. [86.48.74.19], dsn=2.0.0, stat=Sent (Ok)

Pas compris par moi

Il y a plusieurs anomalies apparentes que je ne comprends pas, telles que:

  • stat=User unknown
  • DSN: User unknown
  • Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: <[email protected]>... User unknown
  • Je ne comprends pas pourquoi l'erreur de Drupal indique from [email protected] to [email protected]
  • Je peux envoyer du courrier à partir de la ligne de commande en utilisant sendmail, et ça passe très bien:

Contenu de mail.log après l'envoi avec la ligne de commande sur root

Sep 21 16:00:07 hostname sendmail[3283]: q8LFwxIS003283: from=root, size=167, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Sep 21 16:00:07 hostname sm-mta[3305]: q8LG07FE003305: from=<[email protected]>, size=487, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 16:00:07 hostname sendmail[3283]: q8LFwxIS003283: [email protected], ctladdr=root (0/0), delay=00:01:08, xdelay=00:00:00, mailer=relay, pri=30167, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LG07FE003305 Message accepted for delivery)
Sep 21 16:00:08 hostname sm-mta[3307]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-RC4-SHA, bits=128/128
Sep 21 16:00:08 hostname sm-mta[3307]: q8LG07FE003305: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120487, relay=gmail-smtp-in.l.google.com. [74.125.142.26], dsn=2.0.0, stat=Sent (OK 1348243208 ut4si13805795igb.1)
5
bitfed

Cette erreur est apparue après avoir changé mon nom d'hôte de webserver en webserver.com, donc tout ce qui a été envoyé à *@webserver.com sendmail confus, car il cherchait un utilisateur local avec un tel nom.

L'ajout d'un utilisateur local ne résoudra pas complètement le problème, car si vous essayez d'ajouter un utilisateur comme firstname.lastname, Le système Linux se plaindra.

Ce que j'ai fait pour réparer mon système, c'est configurer correctement sendmail:

1) Modifier /etc/mail/sendmail.mc en ajoutant les lignes suivantes à la fin:

define('MAIL_HUB', 'webserver.com.');
define('LOCAL_RELAY', 'webserver.com.');

2) Exécutez:

sendmail config

En option, rechargé le sendmail par:

service sendmail restart

Sur certaines distributions Linux (comme Ubuntu), il peut être rechargé automatiquement.

5
sapenov

Je ne comprends toujours pas pourquoi, mais la création d'un utilisateur linux sur mon VPS Ubuntu nommé "noreply" a résolu ce problème. Je suis heureux que cela fonctionne, mais j'apprécierais une réponse de quiconque pourrait avoir un aperçu ou une solution alternative autre que la création de nouveaux utilisateurs Linux pour chaque identifiant de messagerie que je souhaite envoyer.

Un merci spécial à junedkazi pour en avoir discuté avec moi dans les commentaires.

1
bitfed