5

私がホストしている同じサーバー上に2つのクライアントがあり、どちらもsendgrid.comを介して電子メールを送信します(どちらも独自のアカウントを持っています)。

sendgridのレポートを見ていて、「クライアント1」のカテゴリが「クライアント2」のレポートに表示されていることに気付きました。

私はsendgridと電話で長時間過ごしましたが、「クライアント1」の3000のバッチからの少数の電子メール65が、「クライアント2」の認証済みユーザーを介して送信されたものとして表示されていると言われています。

スクリプトでは、coldfusion cfmailを使用し、そのクライアントのSMTPアドレス、ユーザー名、およびパスワードをタグに指定します。

考えられる理論では、管理者のメールの下にある[メールサーバーへの接続を維持する]チェックボックスが考慮されています。

「このチェックボックスをオンにすると、メッセージの配信後にメールサーバーへの接続を開いたままにして再利用できます(推奨)。」

両方のクライアントが同時に電子メールを送信する場合(非常に可能性が高い)、ColdFusionメールスプーリングエンジンはサーバー/ユーザー名とパスワードに基づいてそれらを分離しますか、それとも現在開いているメールサーバーにすべて送信しますか?

メールサーバーへの接続を維持するチェックボックスをオフにした場合...リソースの欠点は何ですか?私のクライアントは一日中ニュースレターとトランザクションメールを送信します。おそらくクライアントごとに約1万通です。

4

2 に答える 2

4

実行しているColdFusionのバージョンはわかりませんが、ColdFusion 9では、Application.cfcファイルでSMTPサーバー設定を指定できる新機能が追加されました。2つのサイトに別々のApplication.cfcファイルがあると仮定すると、おそらくこれでうまくいくでしょう。

これは、ColdFusion9の新機能への参照です。

これがその参照ページからのテキストです。

問題
ColdFusionサーバーでホストされているアプリケーションのさまざまなSMTPサーバー設定を使用して電子メールを送信するにはどうすればよいですか。

解決策
Application.cfcファイルの新しいColdFusion9「smtpServersettings」機能を使用することにより、アプリケーションにさまざまなSMTPサーバー設定を指定できます。

詳細な説明
ColdFusion9は、Application.cfcファイルに「smtpServersettings」という新しい属性を追加しました。SMTPサーバー設定の詳細をApplication.cfcのこのスコープの「smtpServersettings」属性に指定できます。この属性は、サーバー、ユーザー名、パスワードの3つの値を構造として受け取ります。

<cfcomponent displayname="CF9ApplicationVariables" output="false">

   <cfset this.name   = "CF9ApplicationVariables" />
   <cfset this.smtpserversettings   = {
                          server="mailServerAddress",
                          username="userEamilID",
                          password="userPassword"
                          } />
</cfcomponent>

これで、CFMailタグは、Application.cfcの「smtpServersetting」で前述したように、サーバーの詳細を使用してメールを送信し、ColdFusion9管理者で指定されたサーバー値を使用しなくなります。「smtpServersetting」属性が使用されていない場合、CFMailは通常どおりに動作します。

于 2012-11-21T13:17:30.690 に答える
2

サーバーのDNS設定を変更し、SMTPアドレスsmtp.sendgrid.netを指すcnameを追加することになりました。次に、新しいサーバー名を使用するようにコードを更新しましたが、これにより接続が分離されているようです。

于 2012-11-21T14:01:18.457 に答える