Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[aufgegeben] Email über externen Server per ssmtp
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Thu Jul 20, 2006 5:29 pm    Post subject: [aufgegeben] Email über externen Server per ssmtp Reply with quote

Nachdem ich jetzt den halben Tag lang Foren, Google und Manpages inspiziert habe, muss ich leider zugeben: Ich raff es nicht.

Ich will von einem anderen Rechner aus Mails per PHP verschicken, über einen externen SMTP-Server. Sprich ich habe einen funktionierenden Email-Account (webmaster@domain.de) bei 1&1. Ein anderer Rechner soll per mail()-Funktion von PHP Mails als "From: webmaster@domain.de" verschicken.

Ich bin zu dem Entschluss gekommen, dass ssmtp wohl das Richtige für mich sein sollte, aber ich krieg's ums Verrecken nicht ans Laufen. Hab mich an folgende Konfigurationsanleitung gehalten: https://forums.gentoo.org/viewtopic-t-420358.html.

Leider spuckt er mir auch nirgendwo ne Fehlermeldung hin, oder ich hab sie noch nicht gefunden. PHPs mail() liefert nur "false" zurück, wenn ich auf der Konsole mail -s "Betreff" zieladresse@beliebige.domain versuche schmiert er vorm/beim/während dem Verschicken ab: "Can't send mail: sendmail process failed".

/etc/ssmtp/ssmtp.conf:
Code:

root=postmaster
mailhub=smtp.1und1.de
rewriteDomain=smtp.1und1.de
hostname=webmaster@<domain>.de   # den versteh ich überhaupt nicht. Hatte ihn auch schon auskommentiert oder "smtp.1und1.de" reingesetzt, weiß eigentlich _irgendjemand_, was diese Zeile tut?
FromLineOverride=YES
AuthUser=<MeinUsername>  # Wo kommen diese Parameter überhaupt her?
AuthPass=<MeinPasswort>  # Stehen weder im README, noch in der Manpage, oder gar in der Default-Config. Häh??


/etc/ssmtp/revaliases (sollte ich für PHP nicht brauchen, oder? "From" sollte ja aus dem additional_headers-Parameter kommen):
Code:

root:webmaster@<domain>.de:smtp.1und1.de


/etc/mail/mailer.conf:
Code:

sendmail        /usr/sbin/ssmtp
send-mail       /usr/sbin/ssmtp
mailq           /usr/sbin/ssmtp
newaliases      /usr/sbin/ssmtp


Bitte bitte bitte, kann sich irgendjemand einen Reim darauf machen, wieso er sich bei mir so sang- und klanglos verabschiedet, wenn er eine Mail verschicken soll?

So Sachen wie PHP-Mailer oder die Mail-Funktion aus PEAR möchte ich erst gar nicht ausprobieren, da ich auch von der Konsole aus Mails verschicken möchte.

PS: Keine Ahnung, wie man sendmail selber bedient, aber wenn ich damit versuche, a la "sendmail <empfänger>" -> tippsel tippsel -> Strg+d was zu reißen, krieg ich einen "Speicherzugriffsfehler". Hm? OK, sendmail erwartet wahrscheinlich eine etwas andere Eingabe, aber ne Exception?! Hab irgendwie das Gefühl dass hier was nicht stimmt....


Last edited by sprittwicht on Fri Jul 21, 2006 8:57 am; edited 1 time in total
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Thu Jul 20, 2006 5:39 pm    Post subject: Reply with quote

Also wenn ich es richtig verstehe möchtest du über den SMTP Server von 1und1 eine Mail verschicken.

Da der SMTP Server sicher kein RELAYING unterstützt musst du dich wohl oder übel am SMTP Server anmelden.

Ich denke mal das du genau diese Informationen in die config einzutragen hast.

Edith sagt das PHP auch direkt mit dem SMTP Server sprechen kann ohne den Umweg über ssmtp zu nehmen.
_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Thu Jul 20, 2006 7:09 pm    Post subject: Reply with quote

Anarcho wrote:
Also wenn ich es richtig verstehe möchtest du über den SMTP Server von 1und1 eine Mail verschicken.

Exakt. :-)

Anarcho wrote:
Da der SMTP Server sicher kein RELAYING unterstützt musst du dich wohl oder übel am SMTP Server anmelden.
Ich denke mal das du genau diese Informationen in die config einzutragen hast.

Tja, aber wie? Ich dachte AuthUser und AuthPass würden genau das veranlassen? Wobei ich, wie bereits erwähnt, nicht eine einzige offizielle Dokumentation zu ssmtp gefunden habe, die diese Parameter überhaupt nennt.
Wobei die INSTALL.gz schon vertrauenserweckend ist:
Code:
  If you have more than one community which uses a given binary,
there is a small (3 line) config file that allows setting variables
that aren't static.
  These three are
        root: The person who gets root's mail (also daemons', etc).
                This userid (on the mailhub) get all mail sent to
                local adressees with userids less than 10.  In other
                words, she gets mail the system mails to root, daemon,
                etc.
        mailhub: The place where the mail goes.  This is looked up with
                gethostbyname, and so must resolve to an IP address. MX
                records don't count, as several vendors' machines that we
                run ssmtp on (notably suns) don't fully support them.
                They'd be nice, though...
        rewriteDomain: The place to say the mail came from. This is for
                hostname-hiding, and only applies if the programs is
                compiled with REWRITE_DOMAIN defined. We don't usually have
                to do so (our main mailhubs run zmailer: our clients run all
                sorts of junk).
        hostname: the Fully Qualified Domain Name of the machine, in case
                you have set hostname to the short form.

These _three_ are: root, mailhub, rewriteDomain, hostname. :-)

Anarcho wrote:
Edith sagt das PHP auch direkt mit dem SMTP Server sprechen kann ohne den Umweg über ssmtp zu nehmen.

Hm, wie jetzt. Du meinst von Hand mit dem Server verbinden und dann von Hand das ganze Protokoll abklappern mit "HELO, wie geht's? Darf ich hier mal ne Mail abladen? Mein Name ist..."? Näää.....
Die mail()-Funktion muss ja irgendeinen Nutzen haben. Mittlerweile krieg ich mal true, mal false zurück (hatte vergessen, PHP den sendmail-Pfad mitzuteilen). Trotzdem kommt nichts an. Das kann doch nicht so schwer sein. Fantastilliarden Menschen machen das, nur ich zu blöde dazu? Argh...

PS: Wo legt man eigentlich den Default-"From" fest, falls man in der Mail keinen angibt? Die entsprechende php.ini-Option gilt ja nur für Windows.
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Thu Jul 20, 2006 9:36 pm    Post subject: Reply with quote

Also so weit ich weiss kann man auch unter Linux in der php.ini einen Mailserver per SMTP angeben und ebenso die FROM-Address. Nur unter Windows ist es PFLICHT.
_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Thu Jul 20, 2006 9:52 pm    Post subject: Reply with quote

Nee, da tut sich immer noch nichts. :-(
In Ethereal taucht auch nichts smtp-mäßiges auf, also gibt er schon sehr früh auf. Man muss doch irgendwo sehen können, woran er scheitert? Zum Mäusemelken...
Back to top
View user's profile Send private message
schmutzfinger
Veteran
Veteran


Joined: 26 Oct 2003
Posts: 1287
Location: Dresden/Germany

PostPosted: Fri Jul 21, 2006 7:57 am    Post subject: Reply with quote

Ich habe irgendwann auch mal ewig probiert ssmtp zum Laufen zu bringen. Nach Stunden habe ich für mich entschieden, das das Teil Mist ist, und habe exim installiert. Das ging auf Anhieb.
Back to top
View user's profile Send private message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Fri Jul 21, 2006 8:54 am    Post subject: Reply with quote

Bin gerade zu derselben Überzeugung gekommen, was ssmtp angeht.
Werde mir Exim mal anschauen, ist der Konfigurationsaufwand für "Versenden über einen externen SMTP-Server" hoch? Hatte mit ssmtp geliebäugelt, weil ich mich erstmal vor einem "richtigen" Mailserver a la Postfix / Sendmail / Exim drücken wollte. Will ja erstmal nur so ne billige Weiterleitung, keinen ausgewachsenen eigenen Server.

Ansonsten hat mich Anarcho eigentlich doch auf eine sehr gute Idee gebracht. Hab gestern zum ersten Mal in meinem Leben telnet installiert und kann jetzt sehr gut nachvollziehen, warum smtp für _simple_ mail transfer protocol steht. :-)
Wenn alle Stricke reißen geh ich also doch den direkten Weg und verbinde mich per Hand in PHP mit dem SMTP-Server. Ist jedenfalls um Längen einfacher, als irgendwo brauchbare Dokumentation zu ssmtp aufzutreiben.
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Fri Jul 21, 2006 9:20 am    Post subject: Reply with quote

Vielleicht hilfts was:
http://de.php.net/manual/de/ref.mail.php wrote:
If you can't use or don't understand how to use the sendmail program from linux, you can use a PEAR object to send mail.

<?
include("Mail.php");

$recipients = "mail_to@domain.mail";

$headers["From"] = "mail_from@domain.mail";
$headers["To"] = "mail_to@domain.mail";
$headers["Subject"] = "Test message";

$body = "TEST MESSAGE!!!";

$params["host"] = "smtp.server";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "user";
$params["password"] = "password";

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);

$mail_object->send($recipients, $headers, $body);
?>
In my case, i use a smtp server that require authentication, and sendmail configuration is almost cryptic to me.

PEAR is already installed in PHP 4.0.3 , if not, you must go to pear.php.net and install it, in my case, I needed to add the Socket.php to the PEAR library.


Ich setze für solche Fälle gern Postfix ein. Solange er nur als Relay zum ISP dient ist da nicht viel zu konfigurieren.
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Fri Jul 21, 2006 11:55 am    Post subject: Reply with quote

Was auch recht einfach geht ist qmail einzurichten.

Ich starte dazu einfach nur qmail-send ohne qmail-smtp. Dadurch ist der Rechner nur in der Lage emails zu senden aber er kann keine empfangen.

Das ist sehr schnell gemacht. Eigentlich muss man nur die Domain eintragen.

EDIT: Als ich mal einen SMTP Client in VO (Visual Objects) schreiben musste habe ich auch viel mit telnet rumgespielt und RFCs gelesen.
Es hilft auch sich mal die Mails die man bekommt im Quelltext anzusehen, da sieht man dann auch die Header.
_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
MALON3
Tux's lil' helper
Tux's lil' helper


Joined: 16 Jan 2004
Posts: 87

PostPosted: Fri Jul 21, 2006 11:44 pm    Post subject: Reply with quote

msmtp schon mal angeschaut?

ist gut dokumentiert und simple...erfüllt hier treu seine dienste :)

gruß
Back to top
View user's profile Send private message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Sat Jul 22, 2006 11:40 am    Post subject: Reply with quote

MALON3 wrote:
msmtp schon mal angeschaut?

Gerade, nachdem ich deinen Beitrag gelesen habe. :-)
Die Dokumentation liest sich schonmal sehr flüssig, gefällt mir!
Werd ich morgen mal ausprobieren, sieht auf jeden Fall vielversprechend aus...
Back to top
View user's profile Send private message
sprittwicht
l33t
l33t


Joined: 04 Dec 2003
Posts: 644

PostPosted: Thu Jul 27, 2006 12:30 pm    Post subject: Reply with quote

Tja, msmtp läuft auf Anhieb. :-)
Sehr schön, und nochmal danke an alle.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum