3

添付ファイル(htmlファイル)付きのメールをGmailに送信する場合、メール本文は送信されません。以下の添付ファイルの設定をコメントアウトすると、問題ありませんでした。電子メールに添付ファイルがない場合は、問題ありません。

この問題は、ファイルの拡張子が「html」の場合にのみ発生することをテストしました。log、pngのような他のファイルは大丈夫です。

  • ルビー1.8.7(2010-08-16パッチレベル302)[i386-mingw32]
  • mime-types(1.18)
  • ポニー(1.4)

メール送信機能でファイルを正しく送信するにはどうすればよいですか?.html

更新:受信した電子メールからの抜粋を追加しました。電子メールの本文は中央のmimepartとして表示されます。検索するContent-ID: <4fdfd7725ba26_a0c1a825dc8363d@RATionalxp.mail>

def email_it(body, subject, to, from, attachment_to_send)

  $smtp = 'mail.com.au'
  $smtp_port = 25

  body_with_footer = body +Email_footer

    Pony.mail(
        :to => to, 
        :from => from,
        :subject => subject, 
        :body => Nokogiri::HTML(body_with_footer).text, 
        :html_body =>  body_with_footer, 
        :attachments => attachment_to_send,
        :via => :smtp, 
        :via_options => {
                :address     => $smtp,
                :port     => $smtp_port,
                :enable_starttls_auto => false
        }
    )
end

受信したメールから抽出する

Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_4fdfd77251dac_a0c1a825dc83328";
 charset=UTF-8
Content-Transfer-Encoding: 7bit



----==_mimepart_4fdfd77251dac_a0c1a825dc83328
Date: Tue, 19 Jun 2012 11:35:46 +1000
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: base64
Content-ID: <4fdfd7725ba26_a0c1a825dc8358f@RATionalxp.mail>

QW50wqBydW7CoG5hbWXCoMKgOsKgRWR1bWF0ZV91cGdyYWRlX211bHRpwqAo
ZXhwcmVzcylPdmVyYWxswqByZXN1bHQ6wqBmYWlswqBBbnTCoHJ1bsKgdG9v
azrCoG5vYm9kecKga25vd3PCoDstKcKgUmVzdG9yaW5nwqBmcm9twqAvdmFy
L2xpYi9lZHVtYXRlL2JkcnMvbG9xdWF0L2RhdGFiYXNlcy93ZWVrbHkvTE9R
VUFULjAuZGIyaW5zdDEuTk9ERTAwMDAuQ0FUTjAwMDAuMjAxMjA2MTAwMjMw
MDYuMDAxVGltZXN0YW1wwqBvZsKgYmFja3VwwqBpbWFnZcKgaXM6wqAxMMKg
SnVuwqAyMDEywqAwMjozMERhdGFiYXNlwqBSQVRJT05BTMKgcmVzdG9yZWTC
oHN1Y2Nlc3NmdWxsecKgZnJvbcKgZGF0YWJhc2U6wqBMT1FVQVRyZXN0b3Jl
wqB0b29rOsKgMDowMDozOC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LURldGFpbHPCoGZvcsKgYWxswqBSYXRpb25hbMKgdGVzdMKgc3VpdHMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1FZHVtYXRlX3VwZ3JhZGU6wqBs
b2fCoGZpbGXCoG5vdMKgY3JlYXRlZC7CoEVycm9ywqBpbsKgcHJldmlvdXPC
oHRlc3TCoHN1aXTCoChzdG9wT25GYWlsdXJlPSd0cnVlJynCoG9ywqBpbsKg
YW50wqBydW7CoGl0c2VsZi5Qb3dlcmVkIGJ5IEVkdVRlc3RlciBodHRwOi8v
MTAuMC4wLjUw


----==_mimepart_4fdfd77251dac_a0c1a825dc83328
Date: Tue, 19 Jun 2012 11:35:46 +1000
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <4fdfd7725ba26_a0c1a825dc8363d@RATionalxp.mail>

Ant&nbsp;run&nbsp;name&nbsp;&nbsp;:&nbsp;Edumate_upgrade_multi&nbsp;(express)<BR>Overall&nbsp;result:&nbsp;fail<BR>&nbsp;<BR>Ant&nbsp;run&nbsp;took:&nbsp;nobody&nbsp;knows&nbsp;;-)<BR>&nbsp;<BR>Restoring&nbsp;from&nbsp;/var/lib/edumate/bdrs/loquat/databases/weekly/LOQUAT.0.db2inst1.NODE0000.CATN0000.20120610023006.001<BR>Timestamp&nbsp;of&nbsp;backup&nbsp;image&nbsp;is:&nbsp;10&nbsp;Jun&nbsp;2012&nbsp;02:30<BR>Database&nbsp;RATIONAL&nbsp;restored&nbsp;successfully&nbsp;from&nbsp;database:&nbsp;LOQUAT<BR>restore&nbsp;took:&nbsp;0:00:38<BR><BR><BR>------------------------------<BR>Details&nbsp;for&nbsp;all&nbsp;Rational&nbsp;test&nbsp;suits<BR>------------------------------<BR><BR>Edumate_upgrade:&nbsp;log&nbsp;file&nbsp;not&nbsp;created.&nbsp;Error&nbsp;in&nbsp;previous&nbsp;test&nbsp;suit&nbsp;(stopOnFailure='true')&nbsp;or&nbsp;in&nbsp;ant&nbsp;run&nbsp;itself.<BR><BR><HR><BR>Powered by EduTester http://10.0.0.50

----==_mimepart_4fdfd77251dac_a0c1a825dc83328
Date: Tue, 19 Jun 2012 11:35:46 +1000
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8;
 filename=rational_ft_logframe.html
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename=rational_ft_logframe.html
Content-ID: <4fdfd77259308_a0c1a825dc834d0@RATionalxp.mail>

<HTML>
<HEAD>
<META HTTP-EQUIV="charset" CONTENT="utf-8">

update2

ポニーグーグルグループから(私の言葉ではありません)

似ていますが、もっと簡単な例があります。

Pony.mail to: 'me@test.com', 
   from: 'test@test.com',
   subject: 'test attachments',
   html_body: '<p>HTML</p>',
   body: 'Text',
   attachments: { File.basename(a_file_path) => File.read(a_file_path) }

コンテンツタイプと境界が適切に設定されていないと思います。上記のコードでは、添付ファイルのみが表示され、HTMLまたはテキスト本文は正しく送信されていますが表示されません。代替案(OSX MailのOption-Command-])を見ると、それらを見ることができ、正しく表示されます。content-typeはmultipart/Alternativeに設定されており、Content-Dispositionはありません。この場合、コンテンツタイプmultipart / mixedの設定は機能しないようですが、添付ファイル付きの2つの選択肢ではなく、html、プレーンテキスト、添付ファイルをすべて代替として送信していると思います。いずれか:3つすべてが互いにインラインで表示されます。

4

3 に答える 3

1

私の回避策は、添付する前に .htm(l) ファイルの名前を .txt に変更することです。

于 2012-07-26T22:21:46.430 に答える
-1

この添付ファイルを次のようなオプションで下に置きます

Pony.mail to: 'me@test.com', 
   from: 'test@test.com',
   subject: 'test attachments',
   html_body: '<p>HTML</p>',
   body: 'Text',
   :via_options => { :port => '25',
                     :address => 'smtp.gmail.com',
                     :enable_starttls_auto => true, 
                     :attachments: { File.basename(a_file_path) => File.read(a_file_path)}
                    }
于 2014-03-30T15:01:28.297 に答える