使用Golang調用騰訊云郵件模版發送郵件

文章目錄

  • 一、騰訊云郵件模版創建
    • 1.1 發信域名配置
    • 1.2 發信地址設置
    • 1.3 發信模版設置
  • 二、通過Golang發送郵件
    • 2.1 代碼示例
    • 2.2 代碼說明
  • 三、常見問題
    • 3.1 UnsupportedRegion
    • 3.2 InvalidTemplateID

本文檔介紹了如何使用Golang編寫代碼,通過騰訊云郵件服務(SES)發送帶有模版的郵件。本示例將展示如何設置并發送帶有參數的驗證碼郵件。

一、騰訊云郵件模版創建

1.1 發信域名配置

  1. 登錄騰訊云控制臺
    訪問 騰訊云控制臺,并使用您的騰訊云賬號進行登錄。

  2. 進入郵件推送服務
    在控制臺左側導航欄中,選擇“郵件推送”,進入郵件推送服務管理頁面。

  3. 添加發信域名
    在郵件推送管理頁面中,找到并點擊“域名管理”,然后點擊“添加域名”。輸入您想要設置為發信域名的域名,并提交。

如果填入的域名是 sampledomain.com 形式,這屬于主域名;如果填入的域名是 abc.sampledomail.com 形式,這屬于非主域名,是否使用主域名發信,在DNS下面的配置中有存在差異

差異:
如果發信域名非主域名,例如:abc.sampledomain.com,主機記錄中填入:_dmarc.abc。
DMARC 記錄中必須含有 v 與 p 標記。如果您對 DMARC 有更多的了解,可根據您的需要添加其他標記或修改標記的值。

  1. 獲取DNS記錄
    添加域名后,系統會生成一組需要配置的DNS記錄,包括SPF、DKIM和MX記錄。這些記錄通常包括:

  2. 配置DNS記錄
    根據騰訊云提供的DNS記錄說明,在DNS服務提供商的控制臺中添加相應的記錄。通常需要添加以下記錄:

添加SPF記錄
記錄類型:TXT
主機記錄:@
記錄值:根據騰訊云郵件推送提供的SPF記錄值(v=spf1 include:qcloudmail.com ~all	)添加DKIM記錄
記錄類型:TXT
主機記錄:一般為 dkim._domainkey 或者 (qcloud._domainkey	) 郵件推送服務提供的指定值 (qcloud._domainkey)
記錄值:根據騰訊云郵件推送提供的DKIM記錄值 (v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBQQUAA4GNADCBiQKBgQCxjYkKZlEUidvb7aBtt425JHzFvWbE8UeADjZRDKtiGlOn2HyK+4I072tIaM5F1azN9QIkveD/0iwOdDFvxqDffc3UEvRAVv7xcaR3tYoeK0WanlYtBuZopBFgZL3jR193hsGRa8ndh0XyJmZP/Kz4c6Z9lvQHeZsVCuHebXzsZwIDAQAB	)添加MX記錄
記錄類型:MX
主機記錄:@
記錄值:根據騰訊云郵件推送提供的MX記錄值 (mxbiz1.qq.com.)
優先級:通常為10添加 DMARC 記錄:
主機記錄中填入:_dmarc
記錄類型選擇:TXT
記錄值中填入:v=DMARC1; p=none

以上信息在域名添加的地方,點擊 驗證 就會出現相關的DNS解析設置

1.2 發信地址設置

進入新建發信地址配置,請選擇發信域名,填入郵箱前綴和發件人別名后,單擊提交即可完成保存。

注:每個域名僅支持配置10個發信地址。

1.3 發信模版設置

進入新建發信模板配置,填入模板名稱,選擇對應的模板類型,上傳郵件正文,您可以單擊預覽看效果,最后單擊提交即可完成保存。

模板類型中,分為 HTML 富文本和純文本,

HTML支持更多樣式,可呈現豐富的內容,后者僅支持文字,可根據需求選擇。

郵件內容中的變量使用{{變量名}}表示,如:尊敬的{{name}}。在普通發送中使用的模板僅支持單一變量,在批量發送中使用的模板支持設置多個變量。

二、通過Golang發送郵件

完成模板創建后,可以使用Golang代碼發送郵件。以下是詳細代碼:

2.1 代碼示例

package mainimport ("fmt""log"v20201002 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses/v20201002""github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
)func main() {// 替換為騰訊云賬戶的 SecretId 和 SecretKeysecretId := "your-secret-id"secretKey := "your-secret-key"// 替換為郵件模板 IDtemplateId := uint64(12345) // 示例模板ID,請確保正確填寫// 替換為您的發件人郵箱和收件人郵箱sender := "sender@example.com"recipient := "recipient@example.com"// 模板參數nowDate := "2024-05-16"veryCode := "123456"// 初始化憑證對象credential := common.NewCredential(secretId,secretKey,)// 設置客戶端配置cpf := profile.NewClientProfile()cpf.HttpProfile.Endpoint = "ses.tencentcloudapi.com"// 初始化 SES 客戶端client, err := ses.NewClient(credential, "ap-beijing", cpf)if err != nil {log.Fatalf("Failed to initialize SES client: %v", err)}// 創建發送郵件請求對象request := ses.NewSendEmailRequest()request.FromEmailAddress = common.StringPtr(sender)request.Destination = common.StringPtrs([]string{recipient})// 設置模板參數template := ses.Template{}template.TemplateID = common.Uint64Ptr(templateId)template.TemplateData = common.StringPtr(fmt.Sprintf(`{"nowDate":"%s","veryCode":"%s"}`, nowDate, veryCode))request.Template = &template// 設置郵件主題request.Subject = common.StringPtr("Your verification code")request.ReplyToAddresses = common.StringPtr(sender)// 發送郵件response, err := client.SendEmail(request)if err != nil {log.Fatalf("Failed to send email: %v", err)}fmt.Printf("Email sent successfully: %s\n", response.ToJsonString())
}

2.2 代碼說明

  • SecretId 和 SecretKey:替換為騰訊云賬戶的實際值。
  • 模板ID:替換為在騰訊云控制臺中獲取的模板ID。
  • 發件人和收件人郵箱:替換為實際的發件人和收件人郵箱地址。
  • 模板參數:根據需要替換模板參數的實際值。

三、常見問題

3.1 UnsupportedRegion

如果收到UnsupportedRegion錯誤,請確認選擇的區域支持SES服務。常見支持SES的區域包括ap-beijing, ap-shanghai, ap-guangzhou, ap-singapore等。

3.2 InvalidTemplateID

如果收到InvalidTemplateID錯誤,請確認:

  • 模版ID正確無誤。
  • 模版已通過審核并啟用。

參考文檔:

  • 騰訊云郵件推送設置文檔:https://cloud.tencent.com/document/product/1288/55193
  • 騰訊云郵件推送常見問題文檔:https://cloud.tencent.com/document/product/1288/60652
  • 騰訊云郵件推送API文檔:https://cloud.tencent.com/document/product/1288/51061
  • 騰訊云郵件推送API 錯誤碼:https://cloud.tencent.com/document/product/1288/51060

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14876.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】中的常見的重要指令(中)

目錄 一、man指令 二、cp指令 三、cat指令 四、mv指令 五、more指令 六、less指令 七、head指令 八、tail指令 一、man指令 Linux的命令有很多參數,我們不可能全記住,我們可以通過查看聯機手冊獲取幫助。訪問Linux手冊頁的命令是 man 語法: m…

白嫖免費圖床!CloudFlare R2太香了!

1 為啥要折騰搭建一個專屬圖床? 技術大佬寫博客都用 md 格式,要在多平臺發布,圖片就得有外鏈后續如博客遷移,國內博客網站如掘金,簡書,語雀等都做了防盜鏈,圖片無法遷移 2 為啥選擇CloudFlare…

對話太醫管家CEO徐晶:數字化技術正在為健康管理行業帶來新平衡丨數字思考者50人...

ITValue 鈦媒體特別專題策劃《數字思考者50人》:探訪中國深刻的數字化思考者群體。我們理解的“TechThinker”,涵蓋了中國數字化浪潮中的技術踐行者、政策制定者與投資決策者。在這場長達10年的乘風破浪中,每個人都在分享技術進步的果實&…

leetcode445-Add Two Numbers II

題目 給你兩個 非空 鏈表來代表兩個非負整數。數字最高位位于鏈表開始位置。它們的每個節點只存儲一位數字。將這兩數相加會返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 示例1: 輸入:l1 [7,2,4,3], l2 [5,6…

文件系統--軟硬鏈接

文章目錄 現象軟鏈接硬鏈接 現象 建立軟鏈接 建立硬鏈接 // 刪除軟硬鏈接都可以用 unlink 指令 unlink soft-link軟鏈接 軟鏈接是一個獨立的文件,因為有獨立的inode number 軟鏈接的內容:目標文件所對應的路勁字符串如果我們直接查看軟鏈接文件&#…

vue2vue3為什么el-table樹狀表格失效?

上圖所示,后端返回字段中有hasChildren字段。 解決樹狀表格失效方案: 從后端拿到數據后,遞歸去掉該字段,然后就能正常顯示。(復制下方代碼,直接用) 親測有效,vue2、vue3通用 /**…

如何運用多媒體,打造企業實力展示廳?

企業文化、產品是其長期發展的根本所在,為此越來越多的企業開始選擇運用多媒體互動,來打造企業多媒體展廳的方式,對企業文化、品牌形象、產品進行推廣宣傳,并在多媒體互動裝置的支持下,能讓客戶能夠快速且全面的了解企…

基于SSM的“酒店管理系統”的設計與實現(源碼+數據庫+文檔)

基于SSM的“酒店管理系統”的設計與實現(源碼數據庫文檔) 開發語言:Java 數據庫:MySQL 技術:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系統展示 首頁 管理員登錄頁面 用戶管理頁面 客房信息查詢 酒店詳細信息 后臺…

MySQL入門學習.數據庫組成.存儲引擎

存儲引擎是 MySQL 數據庫的一個重要組成部分,它決定了數據的存儲方式、索引方式、事務支持等特性。MySQL 支持多種存儲引擎,常見的有 InnoDB、MyISAM、Memory 等。 存儲引擎的特點和使用方法: 1. InnoDB: 是 MySQL 默認的存儲引…

APP廣告變現怎么實現的,背后邏輯是什么?

廣告變現的實現主要基于以下幾個關鍵步驟和邏輯: 用戶獲取與留存:首先,APP需要吸引足夠的用戶并確保他們的留存率。只有擁有龐大且活躍的用戶基礎,APP才能吸引廣告商投放廣告。因此,開發者需要通過優化APP質量、提升用…

數字人實訓室解決方案

前言 近年來,政策層面的積極推動為數字人產業鋪設了堅實的基石。2021年,“十四五”規劃將虛擬數字技術納入其中,強調技術創新引領行業應用的革新,加速數字人在各領域的實際應用。緊接著的《“十四五”數字經濟發展規劃》進一步明確…

react封裝Spin重復使用loading效果antd

1. 代碼封裝 import React, { useState } from react; import { Spin } from antd; import ./index.scss;// 自定義Hook useLoadings export const useLoadings () > {// 存儲loading的狀態,key是loading的唯一標識,value是loading的顯示狀態 co…

c#將json字符串轉為對象

c#將json字符串轉為對象&#xff0c;需要加載這個 using Newtonsoft.Json; Rootobject _r JsonConvert.DeserializeObject<Rootobject>(_json);

selenium 庫的爬蟲實現

selenium 是什么&#xff1f; Selenium 是一個用于自動化 Web 應用程序測試的工具。它提供了一個用于測試網站的框架&#xff0c;可以模擬用戶在瀏覽器中的操作&#xff0c;如點擊鏈接、填寫表單、提交數據等。Selenium 可以在多種瀏覽器和操作系統上運行&#xff0c;并且支持…

Nodejs 第七十三章(網關層)

什么是網關層(getway)&#xff1f; 技術選型fastify 速度快適合網關層 fastify教程上一章有講 網關層是位于客戶端和后端服務之間的中間層&#xff0c;用于處理和轉發請求。它充當了請求的入口點&#xff0c;并負責將請求路由到適當的后端服務&#xff0c;并將后端服務的響應…

一個基于HOOK機制的微信機器人

一個基于?HOOK機制的微信機器人&#xff0c;支持&#x1f331;安全新聞定時推送【FreeBuf&#xff0c;先知&#xff0c;安全客&#xff0c;奇安信攻防社區】&#xff0c;&#x1f46f;Kfc文案&#xff0c;?備案查詢&#xff0c;?手機號歸屬地查詢&#xff0c;?WHOIS信息查詢…

有哪些地圖采集軟件可以采集商家數據導出功能?

1.國內商家采集 寅甲地圖數據采集軟件 寅甲地圖數據采集軟件一款多關鍵詞多城市同時采集百度地圖、360地圖、高德地圖、搜狗地圖、騰訊地圖、圖吧地圖、天地圖商家、公司、店鋪的手機、座機、地址、坐標等數據信息的軟件。 2.國外商家采集 寅甲谷歌地圖數據采集軟件 專為做…

葉面積指數(LAI)數據、NPP數據、GPP數據、植被覆蓋度數據獲取

引言 多種衛星遙感數據反演葉面積指數&#xff08;LAI&#xff09;產品是地理遙感生態網推出的生態環境類數據產品之一。產品包括2000-2009年逐8天數據&#xff0c;值域是-100-689之間&#xff0c;數據類型為32bit整型。該產品經過遙感數據獲取、計算歸一化植被指數、解譯植被類…

完成商品SPU管理頁面

文章目錄 1.引入前端界面1.將前端界面放到commodity下2.創建菜單3.進入前端項目&#xff0c;使用npm添加依賴1.根目錄下輸入2.報錯 chromedriver2.27.2的問題3.點擊鏈接下載壓縮包&#xff0c;然后使用下面的命令安裝4.再次安裝 pubsub-js 成功5.在main.js中引入這個組件 4.修改…

【超詳細】固態硬盤新盤驗貨檢測教程

觀前聲明&#xff1a; 本文使用的固態硬盤為作者自費購買&#xff0c;同時也帶有作者一定的主觀意見&#xff0c;無任何軟件和硬件的推廣。 作者本人也正處于學習階段&#xff0c;本文若有錯誤或有待改進的地方&#xff0c;歡迎評論區友善討論~ 一、產品外包裝信息檢查 PS&…