Linux 15.009 Themen, 106.802 Beiträge

Sendmail

Mr.Tom / 11 Antworten / Flachansicht Nickles

Hey Leute,

ich habe ein Problem mit Sendmail. Und zwar, das Empfangen mit fetchmail funktioniert, auch das Verschicken und Empfangen im lokalen Netz funktioniert. Nur das Versenden von emails nach draußen geht nicht. Nach dem Ausführen von "sendmail -q" kommt die diese Nachricht unten an den Client.

The original message was received at Sat, 3 Jun 2000 21:47:00 +0200
from thomas.moeschel.de [192.168.0.10]

----- The following addresses had permanent fatal errors -----
tomson@giga4u.de

----- Transcript of session follows -----
... while talking to mx.freenet.de:
>>> DATA
tom@proxy.moeschel.de
554 tomson@giga4u.de... Service unavailable

"thomas.moeschel.de" ist mein client mit dem ich die mail verschicke, "mx.freenet.de" ist der Mailserver von meinem Provider, "tom@proxy.moeschel.de" ist die email-Adresse vom Benuter des clients und "tomso@giga4u.de" ist die Mailadresse vom Empfänger. Nach dem Ausführen von "sendmail -q" kommt in "/var/log/messages" die Meldung:

bei Antwort benachrichtigen
AxelE Mr.Tom „Sendmail“
Optionen

muß dein sendmail eigentlich über den provider liefern? dies habe ich meiner SuSE 6.4 schnell abgewöhnt. Ich lasse direkt senden.

Allerdings ist die Konfiguration etwas aufwendiger:
1) DNS-Server einrichten und bei ip-up nicht die dns-server des Providers eintragen lassen ! (editiere ip-up und deaktiviere, was die /resolv.conf verändert.)
2) konfiguriere in /etc/rc.config.d/sendmail.rc.config:


SENDMAIL_SMARTHOST=""

#
# sendmail assumes the following space-separated host-names to be
# the local host (this must just be used for names differrent to the
# hostname, for e.g. aliases like www.nowhere.com)
#
SENDMAIL_LOCALHOST="localhost dein host"

#
# do not deliver any email locally, but send all email to another host
# this can just be used with another system that has the same users on it
# and you probably also want to set the FROM_HEADER to the other host
#
SENDMAIL_RELAY=""

#
# with what parameters should sendmail be started?
# normal sites use "-bd -q30m -om". if you set SENDMAIL_EXPENSIVE and you
# have a dialup ISDN connection, you probably want to set this to
# "-bd -om" and run "sendmail -q" from your crontab.
#
SENDMAIL_ARGS="-bd -q30m -om"

#
# sendmail will only queue email in /var/spool/mqueue and will only start
# to deliver it if "sendmail -q" is run
#
SENDMAIL_EXPENSIVE="no"

#
# sendmail will not try to canonify hostnames in your email
# so much less DNS-queries are send
# you probably want to enable this on a SENDMAIL_EXPENSIVE system.
# Don't forget to add the local, the mail hub, smart, and mail relay host
# with their IP addresses and the corresponding Full Qualified Domain Names
# to /etc/hosts
#
SENDMAIL_NOCANONIFY="yes"

#
# this option forbids DNS-queries. It requires a well configured
# /etc/hosts as described for SENDMAIL_NOCANONIFY. For most
# people using dial on demand SENDMAIL_NOCANONIFY should work.
#
SENDMAIL_NODNS="no"

#
# let sendmail deliver local mails in defer (postpone) mode.
# This also sets some entries to avoid dialups. A correct
# FQHOSTNAME for the local host is required.
#
SENDMAIL_DIALUP="yes"

#
# these domains can additional to the local domains be changed
# in /etc/mail/genericstable
#
SENDMAIL_GENERICS_DOMAIN=""
#
# From:-Line in email and News postings
#
FROM_HEADER="dein Server"

#
# generate sendmail.cf from parameters in rc.config
#
SENDMAIL_TYPE="yes"

diese einstellungen setzen die dns-anfrage auf aktiv, wenn ein externer rechner angesprochen wird.

dann SuSEconfig laufen lassen. solltest du deine sendmail.cf bereits editiert haben, speichert das script sie in sendmail.SuSEconfig!!!!

als nächstes habe ich mittels webmin alle localen user maskiert (auf die realen externen Konten). (wenn du lieber editierst, dann ist hier die /etc/mail/genericstable gemeint!) Dies muß sein, da einige Dienste eine auflösung deiner Absenderdomain durchführen, teilweise auch die Korrektheit der email-adresse prüfen. (wenn du eine mail an den selben provider sendest, bei dem du auch ein konto hast.)

Als letztes habe ich in der /etc/rc.config den autostart von sendmail unterbunden, damit nicht jede mail gleich losjagt -dies kann man sicher auch durch den obigen eintrag sendmail_expensive erreichen ;-). sendmail wird in periodischen Abständen mittels cron job gestartet.

Das beste an der sache ist, wenn sendmail nur locale mails verschickt, wird nicht einmal eine verbindung zum ISP aufgebaut.(allerdings nur, wenn dein DNS richtig läuft)

so, ich hoffe du hast einige anhaltspunkte.

wenn noch mehr probleme auftauchen, poste mal sendmail -q -v.

Sollte das klappen würde mich mal ne rückinfo freuen.

CU Axel

bei Antwort benachrichtigen