iT邦幫忙

1

用程式發信時如何在內文中使用樣式?

  • 分享至 

  • xImage

我在用golang嘗試發信,目前單純發出去是沒問題

原本是想在信中插入分隔線

但試了一下用<hr>好像沒有效果,後來又試了其他的markdown語法,看起來也沒效果

程式碼如下:

package main

import (
	"fmt"
	"net/smtp"
)

func SendEmail(mailAddr []string, title string, text string) error {
	from := "test@gmail.com"
	password := "12345678"
	auth := smtp.PlainAuth("", from, password, "smtp.gmail.com")
	message := fmt.Sprintf("From: %s\r\nSubject: %s\r\n\r\n%s", from, title, text)
	err := smtp.SendMail("smtp.gmail.com:587", auth, from, mailAddr, []byte(message))
	return err
}

func main() {
	var emailAddr []string
	emailAddr = append(emailAddr, "test@gmail.com")
	title := "test title"
	text := "<hr>"
	err := SendEmail(emailAddr, title, text)
	if err != nil {
		fmt.Println(err.Error())
	}
}
re.Zero iT邦研究生 5 級 ‧ 2022-12-19 02:12:30 檢舉
這個?: https://stackoverflow.com/questions/9950098/how-to-send-an-email-using-go-with-an-html-formatted-body
(話說,想到用 markdown 這點令我感到神奇~)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
雷峰
iT邦研究生 1 級 ‧ 2022-12-19 07:36:19

有試過這篇嗎?
信件在寄送過程會有很多要留意的,內文編碼建議也要帶入@@
不然不同的收信軟體有可能看起來是亂碼@@

0

你未宣告信件格式為何。一般沒宣告的情況下,預設都是文字模式。

但這邊要注意,雖然可以宣告為html的格式。
但在EMAIL中,並非是所有的元件標簽及CSS都可以用的。

至於markdown 用法.....這個想法倒是讓我驚奇就是了。

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-12-19 11:39:53

markdown 和 html 有一點類似的特性
要用「看得懂語法的軟體」來閱讀才會有「效果」
否則就只是一般純文字而已

目前比較常見的email client都「看得懂」html
所以可以直接在開啟email時「看見html的效果」
至於 markdown
你可以去搜尋各家email client的「外掛(plugin, extension)」
通常可以找到「看得懂markdown」的外掛

0
wiseguy
iT邦超人 1 級 ‧ 2022-12-19 23:46:02

目前主流信件管理軟體,就是支援 text 純文字及 html 超文字。兩者差別,就在於你在信件 header 加一條
Content-Type: text/html; Charset=UTF-8
然後你在本文中放 <hr> 就可以有效果了。少了這一條,<hr> 就是當作純文字秀出來。

我要發表回答

立即登入回答