iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
2

[前情提要]
輸出與我興趣相符的會員的簡介到Queue裡面,等待郵件服務排成來發送

在這篇我們將串接第三方寄信API(SendGrid),從Azure Queue Storage裡取出資料,發送信件給我

SendGrid 簡介


這是一間電子郵件服務的公司,取得API KEY可以用他們提供的API發送信件

微軟Azure與它有良好界接(範例檔就是界接Send Grid),方便快速!

1. 申請SendGrid KEY(免費試用一定天數,不用綁信用卡)

[Create New Key] => [Restricted Access] => [Mail Send]

複製申請的KEY(稍後結合Azure會用上)

2. 建立一個定期發送郵件的函式(從Template)

*C. 設定名稱,計時器(這邊是用CRON排程)

0 0 17 * * * => 每天的下午五點執行

Template預設的是與Send Grid界接,我們必須手動新增SendGrid的金鑰才能正常使用

*B. 這邊鍵入你在SendGrid設定的KEY

*C. 設定完後設定預設的收件人及寄件人

3. 設定設定完成後,我們先使用Sample Code,測試發信件功能是否正常

run.csx

#r "SendGrid"

using System;
using SendGrid.Helpers.Mail;
using Microsoft.Azure.WebJobs.Host;

// The 'From' and 'To' fields are automatically populated with the values specified by the binding settings.
//
// You can also optionally configure the default From/To addresses globally via host.config, e.g.:
//
// {
//   "sendGrid": {
//      "to": "user@host.com",
//      "from": "Azure Functions <samples@functions.com>"
//   }
// }
public static Mail Run(TimerInfo myTimer, TraceWriter log)
{
    var today = DateTime.Today.ToShortDateString();
    log.Info($"Generating daily report for {today} at {DateTime.Now}");
    
    Mail message = new Mail()
    {
        Subject = $"Daily Report for {today}"
    };

    // TODO: Customize this code to generate your specific mail message
    var orderCount = 100;

    Content content = new Content
    {
        Type = "text/plain",
        Value = $"You had {orderCount} orders today!"
    };

    message.AddContent(content);
    return message;
}

4. 確實收到一封信(確認發信功能正常)

上篇我們簡單的對範例程式進行測試,在下篇我們會撰寫程式,去Queue裡存取我們的Message,再發信給我。

實作篇串接Queue發送Email連結在此:串接第三方寄信API(下篇)


上一篇
[DAY11] (實作)打造工程師交友小工具-Azure Queue Storage
下一篇
[DAY13] (實作)打造工程師交友小工具-串接第三方寄信API(下篇)
系列文
30天手把手帶你趣學Azure☁️-初學者也能動手實作🙌🏻30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言