J'utilise Postfix et Dovecot LMTP sur mon serveur. Ma question est de savoir comment créer une adresse de destinatation en silence et répondre à la réponse automatique? Je souhaite également apprendre le flux de contrôle d'exécution postfix et DOVECOT. Cela fait partie de mon postfix main.cf
:
alias_maps = hash:/etc/aliases
# Virtual domains
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_minimum_uid = 115
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mailbox.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql/aliases.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
Dans mon /etc/aliases
:
devnull: /dev/null
Dans mon humble compréhension, postfix traite l'adresse du destinataire ou pas non? Si l'adresse du destinataire existait, transportez-le à DOVECOT LMTP pour gérer la livraison locale. Est-il possible de transporter conditionnel dans Postfix? Par exemple, je souhaite créer une adresse de test de test telle que [email protected]
. Quel compte est aliasé à devnull
. Mon objectif est destinataire [email protected]
Message de messagerie entrant et auto en silence rejeté à l'expéditeur à des fins de test. Si l'adresse du destinataire n'était pas [email protected]
alors transport sur Dovecot-lmtp. J'ai essayé d'utiliser le plugin de filtre à tamis Dovecot avec une extension de vacances pour gérer la réponse automatique. Mais dans la mail.log de mon système:
# replaced actual domain name with DOMAIN
postfix/lmtp[13532]: 62EBD333697: to=<devnull@DOMAIN>, orig_to=<ping@DOMAIN>, relay=DOMAIN[private/dovecot-lmtp], delay=538, delays=538/0.02/0.01/0.44, dsn=5.1.1, status=bounced (Host DOMAIN[private/dovecot-lmtp] said:
550 5.1.1 <devnull@DOMAIN> User doesn't exist: devnull@DOMAIN (in reply to RCPT TO command))
Donc, je suppose que le plugin du filtre à tamis DOVECOT ne fonctionne pas avec le compte qui n'existe pas. Est-il possible d'exécuter un script de tamis avant de vérifier la boîte aux lettres de l'utilisateur? Si oui, je n'ai même pas besoin d'utiliser devnull
blackhole alias. Je peux faire cela dans mon script de tamis quelque chose comme ça:
if address :matches "To" "ping@*" {
vacation
:seconds 1
"PONG";
discard;
}
Mise à jour:
J'ai créé un utilisateur nommé ping
dans ma base de données et j'ai reçu un courrier de réponse dans mon compte Gmail. Mais ce n'était pas vraiment un courrier de réponse. C'était un nouveau courrier dans ma boîte de réception. Ensuite, j'ai essayé de répondre manuellement en utilisant Apple== =. Cela fonctionne comme prévu. Ensuite, je vais à Gmail et appuyez sur le menu show original
.
De Apple Mail's message-id
La partie du domaine était correcte Domaine virtuel de l'expéditeur.
Mais de Dovecot/Sieve's message-id
La partie du domaine était celle de mon serveur hostname
.
Je ne sais pas pourquoi ça arrive. Mais je suppose que c'est peut-être parce que le nom de domaine a été changé? Dans l'exemple de travail de Apple Logiciel de messagerie, il était correct Domaine virtuel de l'expéditeur. Mais à partir de tamis auto-réponse, il a été modifié le vrai nom d'hôte de mon serveur.
Un autre journal postfix de /var/log/mail.log
postfix/cleanup[1329]: EE83F333699: message-id=<dovecot-sieve-1623257247-953496-0@HOSTNAME>
[~ # ~] ps [~ # ~] : Je n'ai que quelques jours d'expérience avec Postfix, Dovecot et quelques heures d'expérience avec le script de tamis. Je suis tellement débutant. J'espère que ma question et ma question était assez claire. Demandez-moi n'importe quoi si vous avez besoin de plus d'informations.
Je l'ai corrigé en ajoutant "Re:" Abréviation avant la chaîne de sujet. On dirait que Gmail créer une nouvelle historique de conversation si le sujet est modifié.
Message-id
n'était pas le problème. De plus, je n'ai pas utilisé le tamis vacation
plugin à répondre. Au lieu sieve_extprograms
Plugin et tuyer le script shell puis curl
Post sur mon serveur Nodejs.