1

レールからメールを送っていますが、メールは画像です。これらの画像は、ペーパークリップを介してAWSS3に保存されます。メールはビューに組み込まれ、動的に送信されます...

今まで一緒にいますか?素晴らしい!

メールを受信したとき、画像の約10分の1にわずかに間違ったsrc = ""タグが付いていると思います。これは、画像が表示されないことを意味します。

imgタグのsrc属性の問題は、どこかにランダムに「+」記号が挿入されていることです。ちなみにこれは10枚に1枚の画像で動作しません。したがって、src属性は、電子メールのソースでは次のようになります...

http://s3.ama+zonaws.com/bucketname/attachments/ect...
http://s3.amazonaws.com/bu+cketname/attachments/ect...
http://s3.amazonaws.com/bucketname/attachm+ents/ect...

分かりますか!ランダム+。src文字列にこれが発生する原因は何でしょうか?

乾杯!

編集:

画像を出力するコードの彼のサンプル、

<%= image_tag xxxxx.image.url(:thumb), :style => "display:block; padding:0; line-height:0;" %>

あなたが私に尋ねればかなり標準的です。

また、コンソールで出力htmlを確認しましたが、srcに+が含まれていません。

...そして私はいくつかの異なる電子メールプロバイダー(gmail、hotmail、me.com ect)とクライアントを送信しようとしましたが、問題はそれらすべてで発生します。

4

1 に答える 1

3

.NETアプリケーションから電子メールを送信するときに、以前に同様の問題が発生しました。ここで発生している内部の魔法については何も知らないので、これが同じ問題であることを保証することはできませんが、これが役立つことを願っています。

SMTPにはメッセージストリームの行の長さの制限があるため、メッセージが長すぎると、SMTPサーバーが行を切断する可能性があります。制限は1000文字だと思いますが、すべてのサーバーがプロトコルを正しく実装しているとは限りません。

場合によっては、サーバーは改行に文字を挿入します。最も一般的なのは!またはblankです。画像のURL内に空白文字が挿入されている場合、クライアントソフトウェアはそれをにエンコードする可能性があります+

cr+lf各画像の後に改行を挿入してみて、問題が改善するかどうかを確認してください。

于 2011-02-24T16:32:55.730 に答える