2

これをAppEngineにアップロードしました-添付ファイル(blobinfo)を含むメールを送信しようとしています。これは空白のページを返します-エラーメッセージはありません。添付ファイルを省略すると、電子メールが送信されます。添付すると、電子メールは届きませんが、エラーメッセージは表示されません。

BlobInfoをAttachment(= Bytestring)として送信することもできますか?そうでない場合、どうすれば翻訳できますか?

前もって感謝します :)

    dataset = ""
for i in range(len(newer_table)):
  for j in range(len(newer_table[i])):
    dataset = dataset + str(newer_table[i][j]) + ','
  dataset += '\n'

file_name = files.blobstore.create(mime_type='text/comma-separated-values', _blobinfo_uploaded_filename='test')
with files.open(file_name, 'a') as f:
  f.write(dataset)
files.finalize(file_name)
blob_key = files.blobstore.get_blob_key(file_name)
blob_info = blobstore.BlobInfo.get(blob_key)
blob_reader = blobstore.BlobReader(blob_key)

#self.response.out.write(blob_reader.read())

user_address = "test@googlemail.com"
sender_address = "Test <test@googlemail.com>"
subject = "Test"
body = "Test"
mail.send_mail(sender_address, user_address, subject, body, attachments=[blob_info.filename, blob_reader.read()])
4

1 に答える 1

2

添付ファイルとして送信するには、添付ファイルを読む必要があります。

blob_reader = blobstore.BlobReader(blob_key)
...
mail.send_mail(sender_address, user_address, subject, body, attachments=[blob_info.filename,blob_reader.read()])

ところで。GAEメールAPIはメール配信に関する情報を提供しないため、AmazonSESを使用してGAEからメールを送信することを好みます。

メールの送信に使用するコードは次のとおりです。

    message = mail.EmailMessage(sender = 'noreply@....', subject = 'CSV')
    message.to = 'john@example.com'
    message.body = 'Download attached CSV'
    message.attachments = [blob_info.filename,blob_reader.read()]
    message.send()  
于 2012-09-19T16:42:13.977 に答える