Linux 15.032 Themen, 107.078 Beiträge

Mailserver für Internetseiten (mehr nit)

Jacky4 / 15 Antworten / Baumansicht Nickles

Hallo leute,

ich weiß nit ob ich hier im richtigen bereich bin aber naja ^^...
ich habe nen linux root (Debian lenny x64) und habe nen paar Webseiten am laufen nur prob ist wenn man auf password vergessen oder registrieren klickt und da mail angibt und er dir dann logischerweise pw o.ä schiken will, geht das leider nicht.

Ich habe mich auch schonmal ne bissle an postfix und co rangewagt aber naja ... mehr oder weniger konfiguirt nur hat er die mails nur in der queue gehabt und jetzt wollte ich mal fragen ob es ne ganz ganz ganz einfache Lösung für anfänger wie mich gibt ^^ ? muss kein richtiger mailserver sein so das man den auch anschreiben könte usw. brauch ich nit will nur das wenn man sich registriert man auch den aktivierungslink zugeschickt bekommt oder eben das password ;)


hoffe mir kann wer helfen

mfg

Jacky

bei Antwort benachrichtigen
KarstenW Jacky4 „Mailserver für Internetseiten (mehr nit)“
Optionen

"Ich habe mich auch schonmal ne bissle an postfix und co rangewagt aber naja ... mehr oder weniger konfiguirt "

Das kannst du so nicht machen. Wenn Postfix nicht richtig konfiguriert ist, dann wird dein kleiner E-Mail Server zum Open Relay Server, für jedermann der deinen E-Mail Server für das Spammen von E-Mail mißbrauchen will.

Du kannst unter Debian Postfix mit aptitude installieren und mit "dpkg-reconfigure postfix" relativ einfach konfigurieren.
Aber das ist nur eine ganz einfache Konfiguration die du nicht für einen richtigen E-Mail Server nutzen kannst.
Kauf dir das Buch

Das Postfix Buch. Sichere Mailserver mit Linux (Broschiert)
von Peer Heinlein (Autor)

und konfiguriere Postfix richtig ;-).

http://www.amazon.de/Postfix-Buch-Sichere-Mailserver-Linux/dp/3937514503/ref=sr_1_1?ie=UTF8&s=books&qid=1250702683&sr=8-1

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Jacky4 KarstenW „ Ich habe mich auch schonmal ne bissle an postfix und co rangewagt aber naja ......“
Optionen

hm.... gibt es keine oneclik möglichkeit wie z.b. bei windows will ja nit unbedingt postfix haben ist mir eigendlich egal will nur das das problem erstmal aufhört
;)

bei Antwort benachrichtigen
KarstenW Jacky4 „hm.... gibt es keine oneclik möglichkeit wie z.b. bei windows will ja nit...“
Optionen

OneClick Lösung?

postconf | wc -l

591

Bei Postfix gibt es mehr als 500 Variablen die man in der Datei /etc/postfix/main.cf setzen kann, um den Mailserver sicher zu konfigurieren.
Wenn du eine einfache Lösung willst, dann nutze Windows. Bei Windows gibt es einen einfachen E-Mailserver.

Tippe mal den Befehl postconf oder "postconf | less" in die Konsole ein, um nur mal zu sehen wie viele Variablen man bei Postfix setzen kann.


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
the_mic Jacky4 „Mailserver für Internetseiten (mehr nit)“
Optionen
dpkg-reconfigure postfix
Dann wählst du "Internet Site"

Das müste eigentlich schon genügen. Wenn nicht, poste bitte den Inhalt von /etc/postfix/main.cf (aber ohne Kommentare und Leerzeilen... wird sonst nämlich zu gross und unübersichtlich: grep -v '^#' /etc/postfix/main.cf | grep -v '^$')
cat /dev/brain > /dev/null
bei Antwort benachrichtigen
Jacky4 the_mic „dpkg-reconfigure postfix Dann wählst du Internet Site Das müste eigentlich...“
Optionen

Hy,

danke für die Antwort, habe dpkg-reconfigure postfix ausgeführt und bin alles durchgegangen ;)

Hier meine main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_recipient_restrictions = check_policy_service inet:127.0.0.1:60000
myhostname = coolserverhosting.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = domain.de, herkules.domain.de, localhost.domain.de, localhost, mail.domain.de
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:1001
virtual_mailbox_base = /email
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1001
virtual_transport = virtual
virtual_uid_maps = static:1001
inet_protocols = all

bei Antwort benachrichtigen
the_mic Jacky4 „Hy, danke für die Antwort, habe dpkg-reconfigure postfix ausgeführt und bin...“
Optionen

Das schaut eigentlich richtig aus. Was meldet /var/log/mail.log beim Versand einer Mail?

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
KarstenW Jacky4 „Hy, danke für die Antwort, habe dpkg-reconfigure postfix ausgeführt und bin...“
Optionen

So auf die Schnelle sehe ich nur einen Fehler.

Die Variable "relayhost =" ist nicht gesetzt.
Willst du die E-Mails direkt verschicken oder willst du die E-mail über einen anderen E-Mail Server von deinem Provider verwenden ?

Ich bin bei Arcor und wenn du die E-Mail über den E-Mail Server von Arcor verschicken willst, dann
schreibst du

relayhost = [mail.arcor.de]

mail.arcor.de ist der SMTP E-Mail Server von Arcor.
Die eckigen Klammern sind dazu da, damit die E-Mail an den ersten E-Mail Server von Arcor gesendet werden , also an den A Record.

Und wenn du einen relayhost nutzen willst, beispielsweise von deinem Provider, dann muß wahrscheinlich der Absender umgeschrieben werden.
Sonst lautet die E-Mailadresse beispielsweise root@Dein_Server.
Du hast bei deinem Provider aber keinen Account mit der E-mailadresse root@Dein_Server.

Schau mal in die Logdateien /var/log/mail und /var/log/mail.err.


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
the_mic KarstenW „So auf die Schnelle sehe ich nur einen Fehler. Die Variable relayhost ist nicht...“
Optionen

Die relayhost-Variable braucht man nur und ausschliesslich dann, wenn der Provider den ausgehenden Mailverkehr sperrt.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
KarstenW the_mic „Die relayhost-Variable braucht man nur und ausschliesslich dann, wenn der...“
Optionen

Dann liegt es eventuell am Umschreiben oder überhaupt an den E-Mail Adressen.

Hier wird eine MySQL-Datenbank für das Umschreiben der E-Mail Adressen verwendet.

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

Die Fehlermeldungen stehen in der Logdatei

/var/log/mail.err

und in der Logdatei

/var/log/mail.log


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Jacky4 KarstenW „Dann liegt es eventuell am Umschreiben oder überhaupt an den E-Mail Adressen....“
Optionen

HY,

mein server soll schon selber versenden ^^ habe eh keinen mailserver auf den ich zugreifen könnte.

Hier die letzten einträge aus meiner Log...
(ich habe mal datum und uhrzeit durch # ersetzt)

[/var/log/mail.log]
#188 postfix/pickup[25180]: 394C412F6285: uid=33 from=<www-data>
#188 postfix/cleanup[25182]: 394C412F6285: message-id=<20090822001727.394C412F6285@domain.de>
#188 postfix/cleanup[25182]: warning: 394C412F6285: virtual_alias_maps map lookup problem for empfänger@email.de

#188 postfix/smtpd[25260]: connect from 173-31-40-100.client.mchsi.com[173.31.40.100]
#188 postfix/trivial-rewrite[25295]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
#188 postfix/trivial-rewrite[25295]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
#188 postfix/trivial-rewrite[25296]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
#188 postfix/trivial-rewrite[25296]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
#188 postfix/smtpd[25264]: warning: problem talking to service rewrite: Success
#188 postfix/cleanup[25182]: warning: problem talking to service rewrite: Connection reset by peer
#188 postfix/master[25174]: warning: process /usr/lib/postfix/trivial-rewrite pid 25295 exit status 1
#188 postfix/master[25174]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
#188 postfix/master[25174]: warning: process /usr/lib/postfix/trivial-rewrite pid 25296 exit status 1


[var/log/auth.log]
#188 postfix/smtpd[25417]: sql_select option missing
#188 postfix/smtpd[25417]: auxpropfunc error no mechanism available
#188 postfix/smtpd[25417]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql


[var/log/mail.err]
#188 postfix/trivial-rewrite[25589]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
#188 postfix/trivial-rewrite[25590]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
#188 postfix/trivial-rewrite[25635]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
#188 postfix/trivial-rewrite[25636]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem


... ich schätze auch mal das es mit der mysql datenbank zu tun hat, da ich ja selbst sehen kann das da nen fehler ist nur genau kp.

ich hatte mal nach nem tutorial gearbeitet und in diese daten etwas eingeschrieben:

[etc/postfix/mysql_virtual_mailbox_maps.cf]
user = postfix
password = ******
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

[etc/postfix/mysql_virtual_mailbox_limit_maps.cf]
user = postfix
password = ******
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username

[etc/postfix/mysql_virtual_alias_maps.cf]
user = postfix
password = ******
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address

[etc/postfix/mysql_virtual_alias_maps.cf]
user = postfix
password = *******
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain

ich hoffe mal das das nicht zu unübersichtlich ist ^^ nur dachte ich ist besser mehr als zu wenig

könnte ggf. zu kleinen fehlern gekommen sein, da das bearbeitungssystem die sonderzeichen ersetztz haben wollte ^^ ;)

mfg

Jacky

bei Antwort benachrichtigen
the_mic Jacky4 „HY, mein server soll schon selber versenden habe eh keinen mailserver auf den...“
Optionen

Hast du das Paket postfix-mysql installiert? Ohne geht's nicht ;-)

Genau so wichtig ist natürlich die korrekte Konfiguration der Datenbank: Benutzername, Passwort, Datenbank und Tabellen anlegen und die Daten eintragen nicht vergessen!

Du kannst auch mal versuchen, manuell mittels telnet zum Postfix zu verbinden:
telnet localhost 25
Wenn sich der Server beim Login nicht sofort mit
220 hostname.domain.tld ESMTP
meldet, hat dein Postfix ein Problem.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
Jacky4 the_mic „Hast du das Paket postfix-mysql installiert? Ohne geht s nicht - Genau so...“
Optionen

Hy,

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 meinedomain.de ESMTP Postfix (Debian/GNU)

kommt bei telnet localhost 25
scheint also zu klappen ;)

joa .. weiß jm. zufällig ^^ wo ich ne einfache anleitung für die Datenbank finde ?

Schon mal danke für die Hilfe bis jetzt

P.S. postfix-mysql ist installiert

bei Antwort benachrichtigen
the_mic Jacky4 „Hy, Trying 127.0.0.1... Connected to localhost. Escape character is . 220...“
Optionen
cat /dev/brain > /dev/null
bei Antwort benachrichtigen
Jacky4 the_mic „http://www.howtoforge.net/virtual-users-domains-postfix-courier-mysql-squirrelma...“
Optionen

joa hat mehr oder weniger jetzt geklappt ^^ nur so das mails per php befehel mail gesendet werden aber z.b nivht von der domain als absender aber das denke ich kann ich mir mal so i-wie anschauen ^^

thx für die antworten

habe letztendlichn nochmal kommplett postfix runtergehauen (glaube dbkg-purge usw.) dann installiert mit apt-get install -V postfix und dann liefs...

aso ja 1. kann man ja noch fragen ^^ gibts die Möglichkeit domains / user i-wie local statt via mysql zuzuteilen?

bei Antwort benachrichtigen
the_mic Jacky4 „joa hat mehr oder weniger jetzt geklappt nur so das mails per php befehel mail...“
Optionen

Du kannst postfix an allem authentifizieren lassen, was irgendwie Userdaten liefert: SQL-Datenbanken, LDAP, Shelluser...

Für Shelluser müsste eigentlich dieser Eintrag in der main.cf genügen (alle virtual*-Einträge vorher auskommentieren):

home_mailbox = .maildir/

Dann werden die Mails jeweils in $HOME/.maildir abgelegt.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen