• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

sendmail installation/konfiguration

Status
Für weitere Antworten geschlossen.

tz

Member
hallo,

habe suse8.1 und probleme mit sendmail.
sendmail befindet sich bei mir im ordner: /usr/sbin/sendmail

mein php-script zum versenden von emails ist 100% korrekt.
php.ini: sendmail_path = /usr/sbin/sendmail -t

ich bekomme keine emails über das php-script (keine fehlermeldung vom script).
habe mir dann sendmail-8.13.1 runtergeladen, komme aber mit der installtion nicht zurecht. wieso muss das unter linux immer so kompliziert sein!?

readme-dateien von sendmail zwar gelesen und gegoogelt, komm aber einfach nicht weiter. kann mir jemand bei der installation helfen? oder könnte es an was anderem liegen?
 

nobbiew

Hacker
Sorry, dann bin ich auch blank.
Hast du schon mal versucht von der Kommandozeile eine Mail abzusetzen. Nur um sicherzugehen, dass das überhaupt geht. Und bitte auch versuchen an den gleichen Benutzer was zu schicken. Evtl. liegt es ja an einer Fehlerhaften konfigurartion deines Maildienstes. Ich bin mir nur nicht sicher ob es bei SuSE8.1 schon Postfix ist o. noch sendmail selbst.
 
OP
T

tz

Member
wie kann ich denn über die Kommandozeile emails verschicken?
kenn mich noch nicht so gut aus mit linux.

mit "Fehlerhaften konfigurartion deines Maildienstes" meinst du da sendmail?
und was hat es mit postfix aufsich? wie kann ich prüfen ob es auf meinem system installiert und funktionsfähig ist.

also die sendmail datei befindet sich im order /usr/sbin/
 

nobbiew

Hacker
Grundsätzlich musst du deinen Maildienst erst mal konfigurieren, damit du E-Mails nach "außerhalb" sprich nicht an lokale Benutzer schicken kannst. I.d.R musst du einen sog Mailrelay angeben. Das ist ein Rechner, der über das Protokoll smtp E-mails entgegennimmt und diese dann an den zuständigen Server weiterleitet.

Hier läuft es etwas anders, als beim herkömmlichen Mail-Client, der nur direkt mit dem smtp-Server kommuniziert. Das Programm sendmail übergibt die E-Mail an den lokalen MTA (MailTransferAgent). Dieser ist per default so eingestellt, dass nur die lokalen Benutzer erreicht werden. Wenn du auch nach außerhalb etwas schicken willst musst du 1. den Maildienst konfigurieren u. 2. dafür sorgen, dass er auch als Dienst gestartet wird.

Wie gesagt ich weiß nicht welcher Dienst bei SuSE 8.1 standardmäßig installiert wird. Bei den aktuellen Versionen ist es postfix, das die Rolle des MTA übernimmt. Bei älteren Versionen war es sendmail selbst. Im Yast gibt es aber die Möglichkeit den Maildienst zu konfigurieren.

sendmail hat zwei Aufgaben. 1mal kann es als MTA agieren. Zum 2. ist es aber auch mail-Client, mit dem man E-mails verschicken kann. Diese Option nutzt php. Zum verschicken von Email auf der Kommadozeile musst du nur /usr/sbin/sendmail EMAILADRESSE aufrufen. Dann kannst du den Text angeben. Abschließend musst du noch eine Zeile mit einem einfachen . (Punkt) eingeben, damit sendmail weiß, dass die Texteingabe beendet ist.

Zur Fehleranalyse kannst du mit mail deine Eigenen E-Mails ansehen. Dort steht bei Fehlerhaften Konfigurationen meist ein Hinweis, was schiefgelaufen ist in der Antwort deines MTA.

Ich hoffen den Thread liest noch einer unserer Mail-Gurus, da ich eingestehen muss, dass ich das ganze nur von der Theorie her kenne. Ich nutze derzeit unter Linux nur die Mail-Clients.
 
OP
T

tz

Member
theorie schön und gut, habs verstanden.
nur hilft mir das erlich gesagt nicht viel weiter.

wenn ich mail eingebe, ist keine fehlerhafte konfiguration einzusehen.

also wenn ich emails nach aussen verschicken will, muss ich sendmail doch irgendwie klar machen, wie meine email-adresse und passwort lautet, oder nicht?

habe das hier im internet gefunden:
sendmail_path = "/usr/sbin/sendmail -ssmtp.yourisp.net -uUsername -pPassword"

für meinen fall also:
sendmail_path = "/usr/sbin/sendmail -smail.gmx.de ........

mit diesen einstellungen bekomme ich allerdings eine fehlermeldung von php-script.

als ich mein webserver noch unter windows hatte war das alles kein problem, da gabs das program sendmail, das musste man nur installieren und die sendmail.ini entsprechend konfigurieren.

wie muss den postfix/sendmail und die php.ini unter linux korrekt konfiguriert sein um emails nach aussen zu verschicken?

edit: das habe ich noch in /var/log/mail gefunden:
Aug 16 13:07:55 linux postfix/qmgr[557]: D7928A6DD: to=<torsten-zindel@gmx.de>, relay=none, delay=254549, status=deferred (Name service error for gmx.de: Host not found, try again)
 
OP
T

tz

Member
mein MTA ist postfix, konfiguriert wird das teil doch in der main.cf, richtig?

welche zeilen muss ich für gmx konfigurieren?

postfix ist noch nicht konfiguriert!
 
OP
T

tz

Member
hier meine einstellungen über yast:

connection type: dial up (die option Permanent hab ich auch schon ausprobiert!)
outgoing mail server: mail.gmx.de
Domains for locally delivered mail: hab ich leer gelassen
(x) Masquerade other domains
Domains to masquerade: mail.gmx.de

mehr ist nicht einzustellen! sind diese einstellungen die ich vorgenommen habe überhaupt richtig? wenn ja, weiß ich nicht was ich noch machen soll!

das steht in der /var/log/mail:
Aug 16 15:56:29 linux postfix/qmgr[1874]: 2A4AEA917: to=<torsten-zindel@gmx.de>, relay=none, delay=0, status=deferred (Name service error for gmx.de: Host not found, try again)
 

nobbiew

Hacker
Die mail besagt, dass gmx.de nicht gefunden werden kann, das ist ein DNS-Problem
probier mal "ping mail.gmx.de" Das sollte gehen. Ansonsen musst du noch den DNS-Server in einen Netzeinstellungen richtig eintragen.
 
OP
T

tz

Member
ahha, ok

bei "Host name and DNS" steht unter
Host name: Linux
Domain name: Local

wie trage ich jetzt den richtigen DNS-server ein?

wenn ich ping mail.gmx.de eingebe, kommt diese fehlermeldung:
unknown host mail.gmx.de

d.h. also das mein DNS-server nicht läuft, richtig?
 
OP
T

tz

Member
habe mein DNS-Server zum laufen gebraucht, kann jetzt mail.gmx.de anpingen.

bekomme jetzt diese fehlermeldung:
Aug 16 17:09:14 linux postfix/smtp[4312]: E6B27A7FD: to=<torsten-zindel@gmx.de>, relay=mx0.gmx.de[213.165.64.100], delay=185621, status=bounced (host mx0.gmx.de[213.165.64.100] said: 550 5.1.8 {mx031} Cannot resolve your domain)
 

dermichel

Advanced Hacker
du sendest mit einer domain die im internet nicht ueber DNS aufloesbar ist!
trag einen FQDN als helo-namen ein...
 
OP
T

tz

Member
in der main.cf hab ich dies dann gefunden:

smtpd_helo_required = no
smtpd_helo_restrictions =

meinst du das?
was ist ein FQDN?
 

dermichel

Advanced Hacker
wenn du posfix nutzt:


myhostname = mail.<deinedomaine>.de
mydomain = <deine_domaine>.de

smtp_helo_name = mail.<deinedomain>.de


wenn du eine feste ip hast, musst du als fqdn deine domain eingeben.
wenn sich dein postfix mit localhost.deinedomain.de oder so meldet,
versucht gmx.de diese domain reverse aufzuloesen. da es diese aber
nicht gibt - wird die auslieferung abgebrochen.

solltest du ein dial-up user sein (t-online oder was auch immer), musst
du einen relay_host eintragen der die email fuer dich ins internet sendet.

FQDN:

Fully Qualified Domain Name

Eindeutiger Name eines Internet-Hosts. Er setzt sich aus dem Hostnamen und dem Namen der Domain zusammen.
Mit Hilfe des FQDN kann per DNS die IP-Adresse des Hosts ermittelt werden.
 
OP
T

tz

Member
habe die einträge abgeändert, bekomme jetzt diese fehlermeldung, obwohl ich registriert bin:

Code:
Aug 17 13:57:49 Linux postfix/smtp[1142]: warning: mail.gmx.net[213.165.64.20] offered AUTH option multiple times
Aug 17 13:57:49 Linux postfix/smtp[1142]: 2FA74A8A5: to=<torsten-zindel@gmx.de>, relay=mail.gmx.net[213.165.64.20], delay=5, status=bounced (host mail.gmx.net[213.165.64.20] said: 553 5.1.8 {mp020} Only registrated user are allowed to use this system)

hier meine main.cf:
Code:
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient, envelope_recipient
myhostname = mail.gmx.de
mydomain = gmx.de
inet_interfaces = 127.0.0.1 192.168.0.2
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
#relayhost = mail.gmx.de
content_filter =
mailbox_command =
mailbox_transport =
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,check_relay_domains
alias_maps = hash:/etc/aliases

#SMTP Auth
#SMTP mit SASL-Authentification verwenden
smtp_sasl_auth_enable = yes

#Die Paßwörter stehen in der Datei /etc/postfix/smtp_auth
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth

#Zusatz-Optionen: Keine anonyme-Anmeldung verwenden
smtp_sasl_security_options = noanonymous

#Den Relayhost (der Server der unsere Emails annehmen soll)
relayhost = mail.gmx.net
#relayhost = smtp.web.de
#relayhost = customer-smtp.b-one.net

smtp_helo_name = mail.gmx.de

meine smtp_auth:
Code:
mail.gmx.net torsten-zindel@gmx.de:password
 
OP
T

tz

Member
habe jetzt noch andere smtp-server ausprobiert, überall bekomm ich andere fehlermeldungen. ich weiß nicht mehr weiter, dass kann doch nicht so kompliziert sein einen mail-server zu konfigurieren, ich häng da jetzt seid ner woche dran. dabei hat ich eigentlich was ganz anderes vor.

kann es an postfix liegen, gibt es andere bessere, unkompliziertere mailserver?

ich brauch unbedingt euere hilfe!!!
 

dermichel

Advanced Hacker
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth

hast du auch "postmap /etc/postfix/smtp_auth" gemacht???
 
Status
Für weitere Antworten geschlossen.
Oben