
Ich verwende Linux mit der Distribution CentOS 6.2. Ich habe 2 VMs, auf denen diese Distributionen laufen.
Eine VM heißt „Proxy“ und die andere „Auth“.
Sendmail muss auf beiden installiert sein. Der Proxy hat keine Internetverbindung.
Ich möchte zum Senden einer E-Mail eine PHP-Seite auf einem Proxy verwenden, indem Sendmail im Proxy die E-Mail an Auth weiterleitet und Auth die E-Mail dann versendet. „Auth“ verfügt über eine Internetverbindung.
Jedes Feedback wäre hilfreich und würde mich sehr freuen.
Hallo, danke. Ich habe es so gemacht, wie Sie vorgeschlagen haben. Allerdings verwendet mein Proxy immer noch root@localhost, anstatt direkt zur Authentifizierung weiterzuleiten:
Jan 14 08:18:57 test1 sendmail[10212]: s0EGEvce010212: from=proxy, size=235, class=0, nrcpts=1, msgid=<201401141614.s0EGEvce010212@test1>, relay=root@localhost Jan 14 08:18:57 test1 sendmail[10212]: s0EGEvce010212: [email protected], delay=00:04:00, mailer=esmtp, pri=30235, dsn=4.4.3, stat=queued
Das Problem verschwindet, wenn ich das Standard-Gateway für die Internetverbindung wieder hinzufüge. Wenn ich das jedoch tue, wird die E-Mail einfach ohne Authentifizierung versendet.
Beim Senden einer E-Mail zwischen Proxy und Authentifizierung tritt jedoch ein anderes Szenario auf: In diesem Fall wird auth.localdomain als Relay verwendet.
Derzeit kann der Proxy die Authentifizierung ohne die Route zum Internet anpingen und umgekehrt.
Ich habe in meiner sendmail.mc-Datei:
define(`SMART_HOST', `auth.localdomain')dnl
Lösung:
Sendmail: Mails werden weiterhin an root@localhost weitergeleitet
Antwort1
Im Sendmail-Jargon müssen Sie „Proxy“ so konfigurieren, dass „Auth“ als Smarthost verwendet wird.
# /etc/mail/sendmail.mc
<snip>
(`SMART_HOST',`auth.mydomain.com`)
Und erstellen Sie Ihre sendmail.cf aus dem Makro neu.
Konfigurieren Sie dann „Auth“, um Nachrichten vom „Proxy“ weiterzuleiten.
# /etc/mail/access
#
# By default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
Connect:proxy RELAY
Und erstellen Sie die access.db neumakemap hash access.db < access