Anleitung für mail() unter SuSE

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Anleitung für mail() unter SuSE

Postby Jan H. Krüger » 14. November 2004 01:59

Moin,

nachdem hier ja doch recht häufig nach der mail()-Funktion gefragt wird biete ich hier eine kurze Anleitung wie unter SuSE der Mailversandt eingerichtet werden kann.

Als erstes steht eine kurze Änderung in der php.ini an. Zu finden unter
Code: Select all
file:/opt/lampp/etc


Dort sucht ihr folgende Zeile:
Code: Select all
[mail function]

Nun tragt ihr unter der Abteilung For Unix only den Pfad zu sendmail ein. Für eine gewöhnliche SuSE-Installation sollte das Endziel dann so aussehen. Zumindest tut es meine ;)

Code: Select all
[mail function]
; For Win32 only.
;SMTP = localhost

; For Win32 only.
;sendmail_from = me@localhost.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
[b]sendmail_path=/usr/sbin/sendmail -t[/b]


Speichert die php.ini und verlasst sie.

In der httpd.conf habe ich dann, einfach weil es sich gehört, in Zeile 334 bei ServerAdmin meine Mailadresse eingetragen. Ist nicht nötig um den Mailversandt zu aktivieren aber schadet nicht wenn zB auf manchen generierten Fehlerseiten als Adminmail die eigene Mailadresse steht.

Dann gibt es im KDE-Kontrollzentrum welches unter, in Ermangelung einer besseren Beschreibung nenne ich es mal Startmenü, zu finden ist.
Hier finden sich YaST2 Module, Angeschlossene Geräte, Arbeitsflächte, Energiekontrolle und noch einige mehr. Wir gehen in YaST2 Module.
Hier sind zu sehen Sicherheit und Benutzer, Hardware, Netzwerkdienste, Netzwerkgeräte, Sonstiges, Software und System. Uns interessieren die "Netzwerkdienste".
Auch hier wieder jede Menge Unterteilungen, es fängt an mit DHCP Server und endet mit NFS-Client. Für uns ist der vorletzte Punkt, "Mail Transfer Agent" interessant.
Wenn ihr nicht bereits als root arbeitet müsst ihr nun über den kleinen Button "Systemverwaltungsmodus" das root-Passwort eingeben.

Ihr werdet nun gefragt welcher Art eure Internetverbindund ist. Ich selbst habe bei mir "Permanent" angegeben. Ist zwar nur halb wahr, aber das weiß das System ja nicht. Auf "next" gehen.

Nun müßt ihr die SMTP-Adresse eines gültigen Mailaccounts von euch angeben. Ich gebe an dieser Stelle nun "mail.gmx.net" da ich für diese Zwecke nur einen GMX-Account zur Verfügung habe.
Unter dem Eingabefeld des Outgoing Mail-Feldes finden sich zwei Buttons.
Der eine heißt "Masquerading", der andere "Authentication".
Masquerading habe ich links liegen gelassen. Da ich XAMPP nur zur Entwicklung hier zu Hause nutze reicht es für meine Zwecke wenn ich mir Testweise Mail an meinen eigenen Account sende so das ich hier ncihts der Schöhnheit willen ändern muss.
Was aber wichtig ist, ist der Button Authentication. Geht darauf.
Hier werdet ihr aufgefordert noch einmal den Outgoing Server, in meinem Falle mail.gmx.net, einzugeben. Dann den Usernamen. Bei GMX ist das eure Mailadresse. Und als drittes das Passwort.
Nach der Eingabe aller drei Infos könnt ihr auf OK gehen.
Dann nochmal auf Next.

Nun wird man aufgefordert Dten bezüglich des Mailempfangs einzugeben. Da es mir zum Testen völlig reicht wenn meine Mail verschickt werden und sie im Postfach landen drücke ich hier einfach auf Finish.

Es erscheint ein "Pop-Up" welches besagt das die Configuration nun geschrieben wird. Auf Continue drücken.

Das wars. Nun Xampp stoppen und gleich darauf wieder starten.

Ein kurzes PHP-Skript abschreiben:

Code: Select all
<?php
$from = "DEINEMAIL"; //DIe Mailadresse des Absenders
$to = "DEINEMAIL";   //Die Mailadresse des Empfängers
$subject = "Test des Mailversands"; // Der Titel der Mail

/*** Die eigentliche Nachricht ***/
$message = "Hallo,
wenn du alles richtig gemacht hast wird diese Mail dir zugestellt.";

$mailer = popen("/usr/sbin/sendmail -t -i -f DEINEMAIL","w"); // Der Versandt der Mail

fwrite ($mailer, "Subject: $subject
From: $from
To: $to
$message
");
pclose ($mailer);
?>


Im Code DEINEMAIL gegen eure eigene Mailadresse austauschen. Im Test habe ich als Empfänger meine eigene Mailadresse mit der Absenderadresse gleichgesetzt.
Nun das Skript aufrufen.

Unter
/var/log das mail Log ansehen.

Im Log sollte dann etwas in der Art wie:
Code: Select all
Nov 14 01:22:43 linux postfix/pickup[11288]: 0221AF274: uid=65534 from=<DEINEMAIL>
Nov 14 01:22:43 linux postfix/cleanup[11502]: 0221AF274: message-id=<20041114002242.0221AF274@linux.local>
Nov 14 01:22:43 linux postfix/qmgr[11289]: 0221AF274: from=<DEINEMAIL>, size=324, nrcpt=1 (queue active)
Nov 14 01:22:43 linux postfix/smtp[11504]: warning: mail.gmx.net[213.165.64.20] offered AUTH option multiple times
Nov 14 01:22:45 linux postfix/smtp[11504]: 0221AF274: to=<DEINEMAIL>, relay=mail.gmx.net[213.165.64.20], delay=3, status=sent (250 2.6.0 {mp002} Message accepted)


Interessant ist eigentlich nur die letzte Zeile in der Message accepted steht. Wenn dies nicht so ist, dann ist eure Mail auch nicht rausgegangen.

Nun könnt ihr mal versuchen die Mail mit eurem Mailclient abzurufen. Wenn alles geklappt hat sollte sie nun in eurem Mailfach sein.

Zwei Bitten am Ende. Zum einen bitte ich zu verstehen das ich keine Fragen für andere Distributionen beantworten kann. Ich habe das ganze für eines meiner Projekte eingestellt habe jedoch in keinster Weise Lust mir andere Distris anzusehen wie da die vergleichbaren Tools benannt sind.
Zweitens: Aktiviert den Mailversandt nur dann wenn ihr auch etwas testen wollt/müsst. Das System ist nicht so sicher wie es wünschenswert wäre. Für ein Testsystem reicht es, für ein Produktivsystem jedoch nicht. Da ist die Gefahr einfach zu groß das irgendwelche Spaßvögel euer System als Spam-Schleuder verwenden.
Jan H. Krüger
 
Posts: 152
Joined: 24. October 2004 19:42

Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 49 guests