2010-11-28 5 views
1

Ich bin ein vps mit cPanel/CentOS, und ich möchte dynamisch wählen Sie die IP-Adresse, um eine E-Mail von rechts in den PHP-Code zu senden. (Ich bin offen für jede Art von Weiden)Wie kann ich E-Mails von einer bestimmten IP-Adresse senden?

Gibt es eine Möglichkeit, das zu tun? ich würde wirklich einige klare ideen schätzen, da ich nicht so gut in exim und stopfen bin.

P.S. Ich habe bereits verfügbare IPs in WHM.

Danke

+0

Ist das nicht der SMTP-Server-IP die einzige IP in der E-Mail ausgesetzt? – K4emic

+0

@ K4emic: Ich glaube die Frage * ist * über die IP-Adresse (n) des SMTP-Servers. – grawity

+0

Nur um sicherzustellen, dass ich auf dem richtigen Weg bin, was ist der Grund, warum Sie das tun wollen? –

Antwort

3

Sie können dies erreichen, indem Sie sendmail verwenden und Parameter übergeben, um die zu verwendende Konfigurationsdatei zu definieren. Innerhalb der Konfigurationsdatei können Sie die Masquerading And Relaying Optionen zusammen mit CLIENT_OPTIONS (`Addr = aaa.bbb.ccc.ddd ') verwenden, um über eine bestimmte IP zu senden.

Wenn Sie PHP mail verwenden, verwenden Sie die additional_parameters, um die zu verwendende sendmail-Konfigurationsdatei anzugeben, und verwenden Sie in dieser Konfigurationsdatei die obigen Optionen, um sie zu konfigurieren.

0

PHP keinerlei Kontrolle über den SMTP-Server, der die E-Mails sendet hat. Sie können SMTP-Server (sendmail, postfix, exim, etc ...) an bestimmte Schnittstellen binden, aber das hat nichts mit PHP zu tun. Die Einbindung von PHP in den E-Mail-Sendeprozess besteht lediglich darin, die E-Mail zu generieren und sie dann zur tatsächlichen Zustellung an einen SMTP-Server zu übergeben.

+0

Ja, aber ich glaube immer noch, dass es eine Art von Möglichkeiten gibt, Subdomains für jede IP zu erstellen, aber ich finde nicht heraus, wie ich das erreichen kann. – Ryan

0

Hier ist ein Gedanke. Wenn Sie die E-Mail von einer bestimmten IP-Adresse senden müssen, die Sie kontrollieren können, aber wo der Anstoß für diese E-Mail nicht von dieser IP stammt, sondern von irgendeiner Webschnittstelle oder was auch immer, könnten Sie:

hinzufügen Mail Details zu einer Tabelle in einem DB mit der gewünschten IP-Adresse als Feld.

Setup Crons, um ein PHP-Skript auf jeder Box mit diesen IPs zu starten.

Analysieren Sie über die Tabelle mit diesem Skript, um alle E-Mails zu finden, die von dieser IP stammen müssen.

Senden Sie die E-Mail.

0

Ich habe ein Reseller-Konto auf einem virtuellen Host und alle meine Domains zum Beispiel sind unter der gleichen IP-Nummer, dann werde ich unter der gleichen IP-Nummer, die ich benutze, um eine E-Mail zu senden, denke ich Es wird von der SMTP-Spezifikation gesteuert, Sie können Ihren SMTP-Server so konfigurieren, dass er E-Mails mit einem anderen Server sendet, auf dem Sie natürlich einen Account haben.

Erstellen Sie auch eine Tabelle, um zu steuern, welchen Server Sie verwenden möchten, um Ihre E-Mail zu senden.

0

ClientPortOptions und DaemonPortOptions sind Sonderfälle, da mehrere Clients/Daemons definiert werden können. Dies kann über

CLIENT_OPTIONS(`field1=value1,field2=value2,...') 
DAEMON_OPTIONS(`field1=value1,field2=value2,...') 

Beachten Sie, dass mehrere CLIENT_OPTIONS() Befehle (und damit mehrere ClientPortOptions Einstellungen) erlaubt getan werden, um zu geben Einstellungen für jede Protokollfamilie (zB eines für Familie = inet und einem für Familie = inet6). Eine Einschränkung für eine Familie betrifft nur ausgehende Verbindungen in dieser speziellen Familie.

Quelle: http://www.sendmail.com/sm/open_source/docs/configuration_readme/