PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mails über Exchange versenden..



Baertronics
09.03.05, 08:16
Hallo zusammen..
ich habe einen RedHat ES 3.0. Dieser versendet über ein PHP-Formular Mails. Die Mails sollten jedoch nicht direkt ins Internet versandt werden, sonder über unseren internen Exchange Server.

Warum?
Ich habe das Problem, das die Absender-Domain wie folgt angegeben wird: "server.domain.net"
GMX oder auch andere eMail Empfänger prüfen nun die Absender Domain und können den MX Eintrag nicht finden. Deshalb werden die Mails abgewiesen.

Was benötige ich?
Eine kleine Anleitung oder Tips wie ich die Mails über den Exchange versenden kann damit sie auch ankommen oder was ich auf dem Linuxserver ändern muss damit die Mails direkt korrekt versendet werden.

Danke
André

Martin Ament
09.03.05, 08:38
Hi,

also um das genauer zu sagen, musst du schon die config mitposten.

Ich gehe mal davon aus, dass php das über den lokalen Port 25 versendet. Dort sollte sendmail oder postfix lauschen. Diese übernehmen je nach System dann den Versand.

Bei uns ist es eine ähnliche Situation, wir haben einen Postfix laufen, und bei diesem eingestellt, dass er die Mails via Exchange versendet.

Exchange muss aber von diesem Linuxrechner die Mails annehmen, und entsprechend konfiguriert sein.

a)
Du kannst den Versender(sendmail oder postfix) so einstellen, dass er alle outgoing mails über Exchange versendet.
b)
oder du "maskierst" deine Domain mit einer gültigen Domain. Das geht aber nur bei direkter Anbindung an das Internet.

Wenn Du webmin hast, dann kannst Du die notwendigen Einstellungen bequem vornehmen.

Die korrekten Einstellungen kannst du aber auch im Handbuch finden. Ich habe leider diese Woche wegen eines Kurses keinen Zugriff auf den Mailserver.

Martin

Terran Marine
09.03.05, 08:53
a)
Du kannst den Versender(sendmail oder postfix) so einstellen, dass er alle outgoing mails über Exchange versendet.
b)
oder du "maskierst" deine Domain mit einer gültigen Domain. Das geht aber nur bei direkter Anbindung an das Internet.


Für mich fehlt da auf jeden Fall c

c)

Im PHP-Skript einstellen, den Exchange Server als SMTP Server zu nutzen.

Ist wesentlich einfacher und sicherer als nen eigenen Mailserver aufzusetzen.

Gruß
Terran

Baertronics
09.03.05, 10:36
Danke für Eure raschen Beiträge!

Ich habe versucht im php.ini folgendes einzutragen:
[mail function]
; For Win32 only.
SMTP = exchangeserver.meineDomain.net

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


Doch mich verwirrt das "For Win32 only" doch sehr!
-> funktioniert hat es jedenfalls auch nicht. Die Mails sind nie angekommen!

=> Also Einstellung wieder entfernt!
************************************************** *******

Gerne würde ich alle Mails über den Exchange versenden; also a)


Wir haben nun mit PHP Ausprobiert und folgende Zeilen ergänzt:

$headers .= "Return-Path: <webservice@domain.net>\r\n";
mail($to, $subject, $message, $headers, $parameter);

Beschreibung: http://ch2.php.net/manual/de/function.mail.php

Beispiel 2. Verschicke Mail mit zusätzlichen Headern.
<?php
mail("nobody@example.com", "Betreff", $message,
"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"X-Mailer: PHP/" . phpversion());
?>

Der Parameter additional_parameters kann benutzt werden, um zusätzliche Parameter an das Programm zu übergeben, das für den Mail-Versand über die Option sendmail_path konfiguriert wurde. Zum Beispiel kann dies genutzt werden, um die Envelope-Absenderadresse anzugeben, wenn sendmail benutzt wird (Option -f). Eventuell müssen Sie den Benutzer, unter dem Ihr Webserver läuft, als sendmail-Option übergeben, um zu verhindern, dass Ihrer Mail ein 'X-Warning'-Header angehängt wird, wenn Sie die Envelope-Absenderadresse auf diese Art setzen.


=> Dies schient zu funktionieren!


Kommentare von Euch, lösung ok so oder nicht?