2016-08-18 14 views
2

私は画像とともにメールを送信しようとしています。私はletter_opener gemでチェックしましたが、それは問題ありませんが、私のGmailアカウントにメールが届くと、画像が欠落しています。画像srcはパス https://ci6.googleusercontent.com/proxy/RLRFotvE91M7TbTVT8Todcjnjv9ymRfVHwxGRJpV-OcuAhGKbUeokSngMmgp74L6wYKN0jiiGZjbRP7StvXK3KWL7ttUSg=s0-d-e1-ft#http://localhost:3000/uploads/image/17/gost1.jpgを示していますが、それはhttp://localhost:3000/uploads/image/17/gost1.jpgでなければなりません。イメージタグではなくci6.googleusercontent.comパスの絶対パスを示していない理由Rails 4アクションメーライメージ絶対パスはプロキシで追加されましたhttpsパスでメールを送信します

<%= image_tag(@image_for_artist) %><br> 
development.erb=> 
config.action_controller.asset_host = 'localhost:3000' 
config.action_mailer.asset_host = 'http://localhost:3000' 

:のようなイメージタグ。

+0

https://www.mailinator.com/にアクセスして、偽のアカウントを作成してそこの偽のアカウントに電子メールを送信しようとします。リンクのラッピングがGmailのクライアントまたは送信したすべてのメールにのみ含まれているかどうかを確認することです – equivalent8

答えて

2

これはなぜ起こったのかについてSendgridの例を挙げることができます。基本的には、電子メールプロバイダが "リンクをラップする"かどうかを設定できます。例えば、Sendgridは、リンクの周りのデータのトラッキングや他の集約(サインアップリンクがクリックされた回数や回数など)を非常に便利だがきれいにするためにこれを行っています。

私の推測では、電子メールクラウドプロバイダのアカウントのどこかでこれを無効にすることができます。私たちは何かを明確にする必要が

更新

OK。 Gmailはメールを受信するメールクライアントと、メールを送信するSMTPサーバーの両方として使用できます。 GmailをSMTPサーバーとして使用していると言いました。どのように電子メールを送信しているかをplsで明確にすることはできますか? あなたのアプリはsendmail、postfix、...その他の電子メールサーバソリューションを内蔵していますか、Gmail SMTP、Sendgrid、Mandrill ...のような電子メールを送信するためにサードパーティのSMTPサーバ(クラウド)を使用していますか?

アップデート2

アプリケーションは、GmailのSMTPサーバーを使用していました。このSOの質問には解決策があります - >Gmail's new image caching is breaking image links in newsletter

+0

私は電子メールを送信するためにgmailを使用しています。どこにGmailのアカウントで "あなたのリンクをラップする"を見つけるべきである –

+0

私の友人を知らない、あなたはその情報をgoogleする必要があります。それは通常「リンクトラッキング」と呼ばれています...しかし、gmailの場合、悪意のあるリンクを投稿する可能性があるので、セキュリティ要件である可能性があります。 – equivalent8

+0

私は宣伝したいとは思っていませんが、実際にはSendgridをお勧めします。必要な場合は、https://sendgrid.com/docs/Integrate/Frameworks/rubyonrails.htmlまたはMailchimp/Mandrilを選択してください。リモートテンプレート – equivalent8

関連する問題