cPanel/CentOS で vps を実行しています。動的に IP アドレスを選択して、php コード内からメールを送信したいと考えています。(私はどんな奇妙な方法にもオープンです)
それを行う方法はありますか?私はeximやスタッフが得意ではないので、いくつかの明確なアイデアを本当に感謝しています.
PS i はすでに WHM で利用可能な IP を持っています。
ありがとうございました
これは、sendmail を使用してパラメーターを渡し、使用する構成ファイルを定義することで実現できます。構成ファイル内で、特定の IP 経由で送信するために CLIENT_OPTIONS(`Addr=aaa.bbb.ccc.ddd') と共にマスカレードとリレーオプションを使用できます。
PHPメールを使用する場合は、使用additional_parameters
する sendmail 構成ファイルを指定し、その構成ファイルで上記のオプションを使用して構成します。
ここに考えがあります。必要なのが自分で管理している特定のIPからメールを送信することであるが、そのメールの推進力がそのIPからではなく、何らかのWebインターフェイスなどから発信されている場合は、次のことができます。
目的のIPアドレスをフィールドとして使用して、メールの詳細をDB上のテーブルに追加します。
それらのIPを使用して各ボックスでphpスクリプトを実行するようにcronを設定します。
そのスクリプトを使用してテーブルを解析し、そのIPから送信する必要のあるメールを見つけます。
メールを送信します。
PHP は、メールを送信する SMTP サーバーをまったく制御できません。SMTP サーバー (sendmail、postfix、exim など) を特定のインターフェイスにバインドできますが、それは PHP とは関係ありません。PHP が電子メール送信プロセスに関与するのは、純粋にメールを生成し、それを実際の配信のために SMTP サーバーに渡すことです。
ClientPortOptionsとDaemonPortOptionsは、複数のクライアント/デーモンを定義できるため、特殊なケースです。これは、
CLIENT_OPTIONS(`field1=value1,field2=value2,...')
DAEMON_OPTIONS(`field1=value1,field2=value2,...')
各プロトコルファミリの設定を行うために、複数のCLIENT_OPTIONS()コマンド(したがって複数のClientPortOptions設定)が許可されていることに注意してください(たとえば、Family = inet用に1つ、Family = inet6用に1つ)。1つのファミリに課せられた制限は、その特定のファミリの発信接続にのみ影響します。
ソース:http ://www.sendmail.com/sm/open_source/docs/configuration_readme/
仮想ホストに再販業者のアカウントがあり、たとえばすべてのドメインが同じ IP 番号の下にある場合、電子メールの送信に使用しているドメインが何であれ、同じ IP 番号の下で送信されます。 smtp の仕様により、もちろんアカウントを持っている別のサーバーで電子メールを送信するように smtp を構成できます。
また、メールの配信に使用するサーバーを制御するテーブルを作成します。