# [aufgegeben] Email über externen Server per ssmtp

## sprittwicht

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:

```

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):

```

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

```

/etc/mail/mailer.conf:

```

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

----------

## Anarcho

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.

----------

## sprittwicht

 *Anarcho wrote:*   

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

 

Exakt.  :Smile: 

 *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:

```
  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.  :Smile: 

 *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.

----------

## Anarcho

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.

----------

## sprittwicht

Nee, da tut sich immer noch nichts.  :Sad: 

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...

----------

## schmutzfinger

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.

----------

## sprittwicht

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.  :Smile: 

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.

----------

## slick

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");
> ...

 

Ich setze für solche Fälle gern Postfix ein. Solange er nur als Relay zum ISP dient ist da nicht viel zu konfigurieren.

----------

## Anarcho

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.

----------

## MALON3

msmtp schon mal angeschaut?

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

gruß

----------

## sprittwicht

 *MALON3 wrote:*   

> msmtp schon mal angeschaut?

 

Gerade, nachdem ich deinen Beitrag gelesen habe.  :Smile: 

Die Dokumentation liest sich schonmal sehr flüssig, gefällt mir!

Werd ich morgen mal ausprobieren, sieht auf jeden Fall vielversprechend aus...

----------

## sprittwicht

Tja, msmtp läuft auf Anhieb.  :Smile: 

Sehr schön, und nochmal danke an alle.

----------

