添付ファイル付き(Blobストレージから)ワーカー・ロール(Azure)から電子メール(c#で)を送信しようとしています。 電子メールは送信できますが、添付ファイル(ワードドキュメント)は空白です。 次の関数は、ワーカーロールから呼び出されます。添付ファイル付きのワーカー・ロール(Azure)からのメールをC#
public void sendMail(string blobName)
{
InitStorage();//Initialize the storage
var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
container = blobStorage.GetContainerReference("Container Name");
CloudBlockBlob blob = container.GetBlockBlobReference(blobName);
if (File.Exists("demo.doc"))
File.Delete("demo.doc");
FileStream fs = new FileStream("demo.doc", FileMode.OpenOrCreate);
blob.DownloadToStream(fs);
Attachment attach = new Attachment(fs,"Report.doc");
System.Net.Mail.MailMessage Email = new System.Net.Mail.MailMessage("[email protected]", "[email protected]");
Email.Subject = "Text fax send via email";
Email.Subject = "Subject Of email";
Email.Attachments.Add(attach);
Email.Body = "Body of email";
System.Net.Mail.SmtpClient client = new SmtpClient("smtp.live.com", 25);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("[email protected]", Password);
client.Send(Email);
fs.Flush();
fs.Close();
Email.Dispose();
}
私が間違っていることを教えてください。
解決策を得ました。 バイト[]ファイル= blob.DownloadByteArray(); アタッチメントアタッチ=新しいアタッチメント(新しいMemoryStream(file)、 "Report.doc"); FileStreamを使用する代わりに、Byte配列とMemoryStreamを使用し、その正常動作します。 返信いただきありがとうございます。 – simplyvaibh