[LINUX] Changements dans qmail-remote.c pour toujours utiliser "l'adresse e-mail spécifiée dans smtproutes" dans RCPT TO: de qmail avec le correctif de support smtp-auth

Préface

Cela fait plus de 15 ans que les contre-mesures OB25 ont commencé chez le fournisseur, mais il y a environ deux ans, le serveur de messagerie du port de soumission compatible SMTP-AUTH préparé avec les contre-mesures OB25 chez le fournisseur que j'utilise "Avec SMTP-AUTH" Une nouvelle mesure a été silencieusement introduite qui "rejette le relais de messagerie si vous spécifiez une valeur autre que l'adresse de messagerie du fournisseur authentifié dans MAIL FROM:".

Il n'y a pas de problème si vous l'utilisez normalement (?), Mais si vous obtenez votre propre domaine et exploitez un serveur de messagerie (qmail) en utilisant un DNS dynamique, vous pouvez envoyer du courrier avec votre propre nom de domaine de l'intérieur. Ce sera parti.

Récemment, j'ai joué avec qmail et je n'ai pas vu ce genre d'informations, donc je pense que c'est une niche, mais dans le RCPT TO de qmail: avec le patch compatible smtp-auth, toujours "mail spécifié dans smtproutes" Je voudrais partager les changements dans qmail-remote.c pour utiliser "adresse".

Conditions préalables

Le serveur qmail est exploité dans son propre domaine et les correctifs suivants sont appliqués.

Demander la livraison du courrier au serveur de messagerie du fournisseur avec smtproutes comme indiqué ci-dessous, et smtp-auth avec l'adresse de messagerie en tant que client

touch /var/qmail/control/smtproutes
chown qmailr.root /var/qmail/control/smtproutes
chmod 640 /var/qmail/control/smtproutes
cat > /var/qmail/control/smtproutes << EOF
:FQDN du serveur de messagerie du fournisseur:587 Adresse e-mail du fournisseur Mot de passe e-mail du fournisseur
EOF

Comment vérifier si le serveur de messagerie du fournisseur a les mêmes mesures que le préambule

#Créer une chaîne SMTP AUTH
printf "%s\0%s\0%s"Adresse e-mail du fournisseur Adresse e-mail du fournisseur Mot de passe e-mail| openssl base64 -e | tr -d '\n'; echo 
#La chaîne de caractères SMTP AUTH en base64 suivante sera affichée, copiez donc les caractères affichés.
Zm9vQGV4YW1wbGUuY29tAGZvb0BleGFtcGxlLmNvbQBwYXNzd29yZA==

#Méthode de connexion lorsqu'un cryptage est requis
openssl s_client -quiet -ign_eof -connecter le serveur de messagerie du fournisseur:numéro de port-tls1_2
#Méthode de connexion lorsque le texte brut est acceptable
numéro de port du serveur de messagerie du fournisseur telnet

__ Lorsque vous pouvez vous connecter, l'affichage suivant s'affiche, alors entrez uniquement la partie grise (le contenu de l'affichage sera légèrement différent selon le serveur) __

Adresse IP du serveur de messagerie d'essai ... Connecté au nom du serveur de messagerie Escape character is '^]'. 220 Nom du serveur de messagerie ESMTP Service prêt EHLO localhost Nom du serveur de 250 e-mails 250-DSN 250-8BITMIME 250-PIPELINING 250-AUTH=LOGIN 250-AUTH LOGIN CRAM-MD5 PLAIN 250 SIZE 20971520 ʻAUTH PLAIN Chaîne AUTH SMTP pré-créée 235 PLAIN authentication successful MAIL FROM: foo @ example.com***… L'acceptation est rejetée si MAIL FROM est différente de l'adresse SMTP-AUTH *** 553 MAIL FROM:<[email protected]> does not match authenticated user name MAIL FROM: Compte de messagerie du fournisseur***… Accepté si MAIL FROM est le même que le nom d'utilisateur SMTP AUTH *** 250 MAIL FROM: <compte de messagerie du fournisseur> OKQUIT`

Changements dans qmail

S'il n'est pas accepté, modifiez le voisinage de la ligne 264 de qmail-remote.c afin que l'adresse e-mail SMTP-AUTH soit spécifiée dans MAIL FROM:. (Le code avant le changement est commenté)

qmail-remote.c


substdio_put(&smtpto,auth_smtp_user,auth_smtp_user.len);    // substdio_put(&smtpto,sender.s,sender.len);

Après cela, comme d'habitude (veuillez arrêter qmail si nécessaire)

make setup check

Je vous remercie pour votre travail acharné

Recommended Posts

Changements dans qmail-remote.c pour toujours utiliser "l'adresse e-mail spécifiée dans smtproutes" dans RCPT TO: de qmail avec le correctif de support smtp-auth