これはおそらく非常に簡単ですが、何かをコーディングするのは非常に新しいです。電子メールメッセージの本体でプログラムでZIPリンクをクリックする方法
現在のところ、特定の件名のメッセージを受信トレイから読み取るbutton4があります。条件が満たされていれば、リストビューのファーストクラスのプロパティが表示されますが、各メールにあるリンクもダウンロードします。
電子メールの中からリンクをクリックすると、zipをダウンロードする.zipリンクです。私はbutton4がクリックされたときに見つかったすべてのリンクを自動的にダウンロードしたい。
私は自分のbutton4コードとその電子メールの例を表示します。
ボタン4コード:
private void button4_Click(object sender, EventArgs e)
{
EmailConnect();
TimeSpan ts = new TimeSpan(0, -2, 0, 0);
DateTime date = DateTime.Now.Add(ts);
SearchFilter.IsGreaterThanOrEqualTo filter = new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, date);
if (service != null)
{
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, filter, new ItemView(50));
foreach (Item item in findResults)
{
EmailMessage message = EmailMessage.Bind(service, item.Id);
string subject = message.Subject.ToString();
if (subject.Contains("NFIRS File Validation"))
{
ListViewItem listitem = new ListViewItem(new[]
{message.DateTimeReceived.ToString(), message.From.Name.ToString() + "(" + message.From.Address.ToString() + ")", message.Subject, ((message.HasAttachments) ? "Yes" : "No")});
lstMsg.Items.Add(listitem);
}
}
if (findResults.Items.Count <= 0)
{
lstMsg.Items.Add("No Messages found!!");
}
}
}
例の電子メール:
NFIRS NFIRSファイル検証サービスは、あなたのファイルの処理を完了した検証
ファイル。このリンクをたどって、結果を含むzipファイルを取得してください。
https://www.nfirs.fema.gov/biarchive/xxxxxxxxx_xxxxxxxxx.zip
このファイルには、28日後に削除されます。
ご不明な点がございましたら、このメールに返信しないでください。代わりに、NFIRSサポートセンターにお問い合わせください。
この "button4"は、条件を満たすメッセージのリストを表示しています。そうですか?ファイルをダウンロードすることもできますか?私はあなたがそのワンクリックから抜け出したいものすべてにかなり従っているわけではありません。 – DonBoitnott
@DonBoitnottはい、今のところリストに載せていますが、リストは無関係で、後で削除される可能性があります。その基準を満たすすべてのメッセージに1つのZIPリンクがあり、すべて自動的にそれらをダウンロードします。 – RobertJRu
残念ながら、これはささいなことではありません。リンクは本文のように見えるので、本文の全文を解析し、リンクを特定し、完全なウェブアドレスを抽出する必要があります。これらのアドレスを[このようなもの]に入力してください(https://stackoverflow.com/questions/525364/how-to-download-a-file-from-a-website-in-c-sharp#525372)それを保存します。 – DonBoitnott