'send after fetch' mit sendmail?

Moin,

ich schreibe meine Mail mit mutt, der sie zum Versand dem lokalen sendmail übergibt. Wenn sendmail versucht, diese Mail bei meinem Provider loszuwerden, verweigert der die Annahme, weil er meine Domain nicht kennt und ich nicht im POP3 eingelogt bin/war.

Wie werde ich die Mail los?

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?
  • Kann ich mutt und/oder sendmail beibringen, meine Absenderadresse zu fälschen, damit der DNS-Check vom sendmail meines Providers nicht ins Leere läuft?
  • Würde qmail helfen?

tia
Thorsten

Hi,

ich schreibe meine Mail mit mutt, der sie zum Versand dem
lokalen sendmail übergibt. Wenn sendmail versucht, diese Mail
bei meinem Provider loszuwerden, verweigert der die Annahme,
weil er meine Domain nicht kennt und ich nicht im POP3
eingelogt bin/war.

Wie werde ich die Mail los?

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

Warum läßt Du mutt nicht selbst regelmäßig beim Provider nach Mail checken?

  • Kann ich mutt und/oder sendmail beibringen, meine
    Absenderadresse zu fälschen, damit der DNS-Check vom sendmail
    meines Providers nicht ins Leere läuft?

Welche Adresse willst Du verändern? Den Domainteil der emailadresse, die Du benutzt oder den Domainnamen des Rechners (Du hast doch eh einen FQDN, da sollte das nicht nötig sein, oder?)

  • Würde qmail helfen?

Glaube ich nicht, dass die kuh das besser kann.

al

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

Umgekehrt wir ein Schuh draus :wink:

fetchmail laufen lassen und dann an der entsprachnden Stelle einen postconnect sendmail -p machen (man fetchmail)

Sebastian

Moin,

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

Warum läßt Du mutt nicht selbst regelmäßig beim Provider nach
Mail checken?

Der Hinweg der Mail ist noch etwas komplizierter (fetchmail -> sendmail -> procmail -> mutt), aber fetchmail sieht schon regelmäßig nach.
Trotzdem: Ich habe verschiedene Provider, kenne die ‚send-after-fetch‘-Timeouts der einzelnen Provider nicht und würde den Versand sehr gerne unabhängig vom Empfang machen.

  • Kann ich mutt und/oder sendmail beibringen, meine
    Absenderadresse zu fälschen, damit der DNS-Check vom sendmail
    meines Providers nicht ins Leere läuft?

Welche Adresse willst Du verändern? Den Domainteil der
emailadresse, die Du benutzt oder den Domainnamen des Rechners

Mein Heim-LAN hat keinen Namen, der außerhalb bekannt ist. Wenn ich dann als [email protected] eine Mail schreibe, weist der Provider die Mail ab, weil es kein heim.net gibt.
Ich will den Absender also in [email protected] verändern.

(Du hast doch eh einen FQDN, da sollte das nicht nötig sein,
oder?)

Da sehe ich keinen Zusammenhang. Ist das nicht nur ein technisches Kriterium?

Thorsten

Moin,

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

fetchmail laufen lassen und dann an der entsprachnden Stelle
einen postconnect sendmail -p machen (man fetchmail)

Das wollte ich eben vermeiden. Zum einen sollen Versand und Empfang unabhängig voneinander laufen, zum anderen sollen die Mails möglichst sofort versendet werden.

Ist das die einzige Möglichkeit?

Es bleibt das Problem der falschen Domain.

Thorsten

Moin,

  • Kann ich mutt und/oder sendmail beibringen, meine
    Absenderadresse zu fälschen, damit der DNS-Check vom sendmail
    meines Providers nicht ins Leere läuft?

Eines habe ich natürlich vergessen: SuSE bietet die Variable FROM_HEADER, mit der man Mails verkleiden kann. Diesn Mechanismus kann ich nicht benutzen, weil ich verschiedene Absender brauche. Ich dachte an etwas ähnliches wie bei fetchmail: ‚localuser is remoteuser‘.

Thorsten

Moin,

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

fetchmail laufen lassen und dann an der entsprachnden Stelle
einen postconnect sendmail -p machen (man fetchmail)

Das wollte ich eben vermeiden. Zum einen sollen Versand und
Empfang unabhängig voneinander laufen, zum anderen sollen die
Mails möglichst sofort versendet werden.

Naja, Du kannst eine extra fetchmailrc schreiben, die sich nur kurz einloggt und dann ohne weiteren Mailabruf den postconnect startet. Und wenn Du dann noch ein

tail -f /var/log/mail grep ??? 

mitlaufen lässt und bei jeder sich bitenden Teile den „special fetch“ loslaufen lässt solte es klappen.

Oder Du verzichtest auf den Relay und lässt den sendmail gleich direkt zustellen.

Sebastian

hi,

  • Kann sendmail ein ‚send after fetch‘ simulieren? Wie?

Warum läßt Du mutt nicht selbst regelmäßig beim Provider nach
Mail checken?

Der Hinweg der Mail ist noch etwas komplizierter (fetchmail
-> sendmail -> procmail -> mutt), aber fetchmail
sieht schon regelmäßig nach.
Trotzdem: Ich habe verschiedene Provider, kenne die
‚send-after-fetch‘-Timeouts der einzelnen Provider nicht und
würde den Versand sehr gerne unabhängig vom Empfang machen.

Theoretisch müßte man mutt beibrigen können, abhängig von der gewählten Absenderadresse, oder vom Füllstand der Kaffeekanne, beim entsprechenden Provider anzuklopfen. Vielleicht kannst Du ja auf einen send-hook einen Skriptaufruf verdrahten, der Dir das übernimmt. Schau Dir mal

man 5 muttrc

an, da steht mehr als ich Erfahrung habe. Out of the box geht es wohl nicht :expressionless:

  • Kann ich mutt und/oder sendmail beibringen, meine
    Absenderadresse zu fälschen, damit der DNS-Check vom sendmail
    meines Providers nicht ins Leere läuft?

Welche Adresse willst Du verändern? Den Domainteil der
emailadresse, die Du benutzt oder den Domainnamen des Rechners

Mein Heim-LAN hat keinen Namen, der außerhalb bekannt ist.
Wenn ich dann als [email protected] eine Mail schreibe, weist der
Provider die Mail ab, weil es kein heim.net gibt.
Ich will den Absender also in [email protected] verändern.

Ah, ja, das ist Aufgabe des MTAs, in Deinem Fall sendmail.
Du musst halt in die /etc/genericstable usernamen und deren Emailadressen vereinbaren, wie’s geht steht im HowTO: http://www.linuxdoc.org/HOWTO/mini/Sendmail-Address-…

Du kannst auch dem mutt ein

my\_hdr From: Who Ever 

in die ~/.muttrc schreiben.

(Du hast doch eh einen FQDN, da sollte das nicht nötig sein,
oder?)

Da sehe ich keinen Zusammenhang. Ist das nicht nur ein
technisches Kriterium?

Deswegen frag ich ja, welche Adresse, der Provider abfragt. Es geht bei Dir um die HeimLAN-Adresse. Wenn Du das HeimLAN mit einem FQDN betriebest, würde den der Provider finden :wink:

al

hi,

Eines habe ich natürlich vergessen: SuSE bietet die Variable
FROM_HEADER, mit der man Mails verkleiden kann. Diesn
Mechanismus kann ich nicht benutzen, weil ich verschiedene
Absender brauche. Ich dachte an etwas ähnliches wie bei
fetchmail: ‚localuser is remoteuser‘.

schau Dir doch mal den Automatismus von

set reverse\_realname

an oder ändere das From wenn’s anders gewünscht ist per Hand (Header editieren kann man ja beliebig :smile:.

al

Moin,

Naja, Du kannst eine extra fetchmailrc schreiben, die sich nur
kurz einloggt und dann ohne weiteren Mailabruf den postconnect
startet.

Ich dachte fetchmail startet nur einmal?!

Und wenn Du dann noch ein

tail -f /var/log/mail 


> grep ???

mitlaufen lässt und bei jeder sich bitenden
Teile den „special fetch“ loslaufen lässt solte es klappen.
Wonach sucht ‚grep ???‘?

Oder Du verzichtest auf den Relay und lässt den sendmail
gleich direkt zustellen.

Damit komme ich aber nicht zu MTAs, die eine DNS-Abfrage machen, um Spams zu verhindern.

Thorsten

Moin,

Theoretisch müßte man mutt beibrigen können, abhängig von der
gewählten Absenderadresse, oder vom Füllstand der Kaffeekanne,
beim entsprechenden Provider anzuklopfen.

Ich glaube nicht, daß mutt SMTP kann. Darum suche ich nach einem Weg, an sendmail zu drehen. Dann müßte mutt den Absender ändern (mit send-hook und Skript) und sendmail diesen Absender 1. nicht anfassen und 2. send-after-fetch beherrschen.

Out of the box geht es wohl nicht :expressionless:

Schon klar, sonst würde ich nicht mutt benutzen. Mit der Fummelei in rcs habe ich kein Problem, aber in allen Texten, die ich über mutt und (proc|fetch)mail gefunden habe, habe ich keine Lösung gefunden. An sendmail habe ich mich nicht 'rangetraut.

wie’s geht steht im HowTO:
http://www.linuxdoc.org/HOWTO/mini/Sendmail-Address-…

Danke, da werde ich nachsehen.

Du kannst auch dem mutt ein

my_hdr From: Who Ever

in die ~/.muttrc schreiben.

Daß mutt das kann, ist klar, aber mutt gibt die Mail eben nicht ab.

Exkurs: FQDN

(Du hast doch eh einen FQDN, da sollte das nicht nötig sein,
oder?)

Da sehe ich keinen Zusammenhang. Ist das nicht nur ein
technisches Kriterium?

Deswegen frag ich ja, welche Adresse, der Provider abfragt. Es
geht bei Dir um die HeimLAN-Adresse. Wenn Du das HeimLAN mit
einem FQDN betriebest, würde den der Provider finden :wink:

AFAIK beschreibt ‚FQDN‘ nur die Tatsche, daß der Name vollständig ist, also ‚host.domain.tld‘, nicht nur ‚host‘.
Für im-Internet-bekannte-Domains hätte ich aber auch gerne einen kürzeren Begriff.

Thorsten

Moin,

Ich dachte an etwas ähnliches wie bei
fetchmail: ‚localuser is remoteuser‘.

schau Dir doch mal den Automatismus von

set
reverse_realname

an

Jepp! Das sollte funktionieren, danke!

oder ändere das From wenn’s anders gewünscht ist per Hand

Nur, wenn’s nicht anders geht. Ich benutze ja mutt, damit ich nicht alles selbst machen muß.

Thorsten

Hallo nochmal,

Du kannst auch dem mutt ein

my_hdr From: Who Ever

in die ~/.muttrc schreiben.

Daß mutt das kann, ist klar, aber mutt gibt die Mail eben
nicht ab.

Wenn ich recht verstanden habe, läuft Deine ausgegende Mail mutt->procmail->sendmail oder wie? Da bleibt Dir wohl wirklich nur, Dich doch noch mit dem MTA zu beschäftigen. „Dank“ des Makroprozesors soll das ja gar nicht so schwer sein. Dass Du keine Lust aufs Fledermausbuch hast, kann ich verstehen.

Exkurs: FQDN

(Du hast doch eh einen FQDN, da sollte das nicht nötig sein,
oder?)

Da sehe ich keinen Zusammenhang. Ist das nicht nur ein
technisches Kriterium?

Deswegen frag ich ja, welche Adresse, der Provider abfragt. Es
geht bei Dir um die HeimLAN-Adresse. Wenn Du das HeimLAN mit
einem FQDN betriebest, würde den der Provider finden :wink:

AFAIK beschreibt ‚FQDN‘ nur die Tatsche, daß der Name
vollständig ist, also ‚host.domain.tld‘, nicht nur ‚host‘.

Weiter oben schreibst Du, dass Du einen Smarthost benutzen musst, um nicht der DNS-Abfrage der Spam-Blockierer zum Opfer zu fallen. Hättest Du überall einen FQDN verwendet, exisierte dieses vermutlich Problem nicht, weil die Abfrage dann ja klappen würde. Das ist der Grund, warum ich auf dem FQDN ein wenig herumreite (und warum sich z.B. auch der Sendmailkonkurrent exim ohne einen FQDN gar nicht so richtig konfigurieren läßt).

hth,
al

Moin,

Wenn ich recht verstanden habe, läuft Deine ausgegende Mail
mutt->procmail->sendmail oder wie?

Nö. Nur mutt -> sendmail. Mutt übergibt die Mail immer an Port 25 des eigenen Hosts. Ich habe keine Einstellung gefunden, die das ändert, habe allerdings auch nicht danach gesucht, weil die Buchstaben ‚SMTP‘ in den Texten, die ich über Mutt gelesen habe, praktisch nicht vorkommen. Selbst von POP3/IMAP wird abgeraten.

Da bleibt Dir wohl wirklich nur, Dich doch noch mit dem MTA
zu beschäftigen.

Oh Graus!
OK, bevor ich das mache, werde ich nochmal nachsehen, wie SuSE das macht.

Ich habe übrigens am Wochenende noch weiter geforscht: Mutt macht das mit reverse_name schon ganz richtig, es bleibt also nur noch der MTA, der nicht zu schlau sein darf.
'my_hdr From: Who Ever ’ ist nicht so ideal, weil Mutt keinen reply-hook hat. Ich müßte also im mbox-hook die Mail markieren und diese Markierung im send-hook auswerten und löschen.

Weiter oben schreibst Du, dass Du einen Smarthost benutzen
musst, um nicht der DNS-Abfrage der Spam-Blockierer zum Opfer
zu fallen. Hättest Du überall einen FQDN verwendet, exisierte
dieses vermutlich Problem nicht, weil die Abfrage dann ja
klappen würde.

Nein. Ob ein Name im DNS bekannt ist oder nicht, macht ihn nicht zum FQDN. FQDN bedeutet lediglich, daß der Name vollständig ist, also ‚host.domain.tld‘ statt nur ‚host‘.
http://webopedia.internet.com/TERM/F/FQDN.html

Thorsten

Moin,

vielen Dank für Eure Hilfe!

Thorsten