golang gopkg.in/gomail.v2包 发送邮件表格

golang 专栏收录该内容
16 篇文章 1 订阅

1.用gopkg.in/gomail.v2包 发送邮件表格代码如下:

package main

import (
	"fmt"
	"gopkg.in/gomail.v2"
	_ "html/template"
)

var mailConfig = map[string]string{
	"MAIL_SMTP_HOST": "xx",   // 服务器地址
	"MAIL_USER":      "xx",   // 发件人的邮箱地址
	"MAIL_PASS":      "xx",   // 口令
	"ME":             "",    // 不填
}

const MailMess =  // 定义邮件表格样式
		`<style>
		table {
			border-collapse: collapse;
		}
		th {
			background-color: #007fff;
			color: white;
		}
		table, th, td {
			border: 1px solid black;
			padding: 5px;
			text-align: left;
		}

		</style>
		<table>
			<tr>
				<th>集群号</th>
				<th>所属业务</th>
				<th>源库</th>
				<th>源表</th>
				<th>目标库</th>
				<th>目标表</th>
				<th>插入行数</th>
				<th>删除行数</th>
				<th>avg_row_length</th>
				<th>消耗时间</th>
			</tr>`


func FormShow (resStruct []models.RuleWithBusinessForm ) {  // 调用接口传过来的数据,拼接表格
	var mailMessage = MailMess
	for _,value := range resStruct {
		mailMessage = mailMessage + fmt.Sprintf("<td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td><td>%v</td></tr>",
			value.ClusterId, value.BusinessNode, value.SourceDb, value.SourceTb, value.DestDb, value.DestTb,  value.Inserted, value.Deleted, value.AvgRowLength, value.TimeConsuming)
	}
	mailMessage = mailMessage + "</table><br></br><br>Send By xxx@xxx.com.cn</br>(自动发送请勿回复)"
	DayEmail(mailMessage)  //拼接完成后,调用函数发送邮件
}

func DayEmail(mailMess string) {   // 发送邮件
	m := gomail.NewMessage()
	m.SetHeader("From", mailConfig["MAIL_USER"]) //发件人
	m.SetHeader("To", MailToUser)     //收件人
	//m.SetAddressHeader("Cc", "test@126.com", "test")     //抄送人
	m.SetHeader("Subject", "xxxxx") //邮件标题
	m.SetBody("text/html", mailMess)         //邮件内容
	//m.Attach("E:\\IMGP0814.JPG")       //邮件附件
	d := gomail.Dialer{Host: mailConfig["MAIL_SMTP_HOST"], Port: 25, Username:mailConfig["MAIL_USER"], Password: mailConfig["MAIL_PASS"], SSL: false, TLSConfig: xxx}
	//邮件发送服务器信息,使用授权码而非密码
	if err := d.DialAndSend(m); err != nil {
		log.Error(err)
	}
}
 funct main () {
	 FormShow(recSLice)   // 传进去的是[]struct的切片
}

2.邮件显示:
在这里插入图片描述

3.常用邮箱
列举一些常用的邮箱,可以用来测试:

QQ 邮箱
POP3 服务器地址:qq.com(端口:995)
SMTP 服务器地址:smtp.qq.com(端口:465/587)

163 邮箱:
POP3 服务器地址:pop.163.com(端口:110)
SMTP 服务器地址:smtp.163.com(端口:25)

126 邮箱:
POP3 服务器地址:pop.126.com(端口:110)
SMTP 服务器地址:smtp.126.com(端口:25)

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<h4 style="font-weight:500;font-size:1.5rem;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;color:#222226;background-color:#ffffff;text-align:center;"> <span style="font-size:14px;">期末</span><span style="font-size:14px;background-color:#fbeeb8;">考点</span><span style="font-size:14px;">都对应</span><span style="font-size:14px;background-color:#fbeeb8;">详解视频</span><span style="font-size:14px;">,</span><span style="font-size:14px;"><span style="color:#e03e2d;">基础阶段</span></span><span style="font-size:14px;">内容全面,语言通俗易懂(翻译书中的语言为</span><span style="font-size:14px;background-color:#fbeeb8;">人话)</span><span style="font-size:14px;">,</span> </h4> <h4 style="font-weight:500;font-size:1.5rem;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;color:#222226;background-color:#ffffff;text-align:center;"> <span style="font-size:14px;">老师精心研究</span><span style="font-size:14px;background-color:#fbeeb8;">百份</span><span style="font-size:14px;">考卷,总结每一个考点,同时结合你肯定可以听懂的骚话,</span> </h4> <h4 style="font-weight:500;font-size:1.5rem;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;color:#222226;background-color:#ffffff;text-align:center;"> <span style="font-size:14px;background-color:#fbeeb8;">扫清你的数据库系统盲区</span> </h4> <h4 style="font-weight:500;font-size:1.5rem;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;color:#222226;background-color:#ffffff;text-align:center;"> <span style="font-size:14px;"><span style="color:#e03e2d;">真题阶段</span></span><span style="font-size:14px;">为你提供</span><span style="font-size:14px;background-color:#fbeeb8;">解题思路</span><span style="font-size:14px;">,培养你的</span><span style="font-size:14px;background-color:#fbeeb8;">解题思维</span><span style="font-size:14px;">,同时</span><span style="font-size:14px;background-color:#fbeeb8;">点明考点</span><span style="font-size:14px;">,结合文档进行重点解读,加深你的印象.</span> </h4> <h4 style="font-weight:500;font-size:1.5rem;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;color:#222226;background-color:#ffffff;text-align:center;"> <span style="font-size:14px;color:#3598db;">只为你的高分,我们交个朋友!让每位学生都可以学的起!!</span> </h4> <p> <span style="font-size:14px;color:#3598db;"><img src="https://img-bss.csdnimg.cn/202103040423318088.png" alt="" width="788" height="450" /></span> </p>
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值