2017-04-19 19 views
0

Laravel 5.2で書かれたプロジェクトでは、送信者のIPアドレスをホワイトリストに登録できるように専用のIPアドレスでメールを送信する必要があります、SparkPost)を使用して、非常に厳格なスパム対策ルールを使用して企業環境内での配信を可能にします。Laravel 5.2 - 専用IPを使用してSparkPost経由で電子メールを送信

SparkPostアカウントに専用のIPアドレスを設定していますが、電子メールを送信できますが、専用のIPアドレスを使用する代わりにデフォルトのIPプール経由でメールを送信しています。その結果、電子メールはスパムとしてマークされます。ここで

は、特定のIPプールを指定する方法についてSparkPostからの参照です: https://support.sparkpost.com/customer/portal/articles/2002977

私の質問はこれです:どのように私はLaravelのMail::sendメソッドを使用している場合、専用のIPを使用するように指定することができますか?それはあなたがそれが特定のIP経由のルートを

X-MSYS-API: { "options" : { "ip_pool" : "my_new_ip_pool" } }

そうでない場合は、デフォルトが使用されていることができるように追加のヘッダーを追加することが必要であることを指定した文書で

答えて

0

氏フェニックスの応答が動作する可能性があります。

Mr.Phoenixからの助けを少し(ところで、あなたに感謝)が、私は、メッセージが送信されたかを追跡することができたとTransportManagercreateSparkPostDriver方法は、オプションを設定する方法を持っていることに基づいていることを発見した後configフォルダーのservices.phpファイルに何を示しているかを示します。

'sparkpost' => [ 
    'secret' => env('SPARKPOST_SECRET'), 
    'options' => [ 
     "ip_pool" => env('SPARKPOST_IP_POOL_ID'), 
    ] 
], 

そして、私の.envファイルに変数を追加します:あなたの助けを

SPARKPOST_SECRET=abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd 
SPARKPOST_IP_POOL_ID=dedicated_ip_pool 
1

Mail::sendは、追加のヘッダーを追加するためのショートカットを提供していないため、基本的なスウィフトメッセージを使用する必要があります。ヘッダーの値についてはあまりよく分かりません。logに設定されたメールドライバーでテストしてみてください。あなたはSparkPostとの通信にSMTPプロトコルを使用しているが、私のアプリケーションはSparkPostのAPIを使用している場合

Mail::send("template.blade",$data,function($message){ 
$message->getHeaders()->addTextHeader('X-MSYS-API', '{ "options" : { "ip_pool" : "my_new_ip_pool" } }') 
}); 

Mail::Send Laravel 5.2 SwiftMailer Headers documentation

+0

おかげで最後に

、私がしなければならなかったすべては私のservices.phpファイルに以下を追加しました! SMTPヘッダーの代わりにAPIオプションを使用することになりました。 – BakerStreetSystems

関連する問題