我在用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())
}
}
你未宣告信件格式為何。一般沒宣告的情況下,預設都是文字模式。
但這邊要注意,雖然可以宣告為html的格式。
但在EMAIL中,並非是所有的元件標簽及CSS都可以用的。
至於markdown 用法.....這個想法倒是讓我驚奇就是了。
markdown 和 html 有一點類似的特性
要用「看得懂語法的軟體」來閱讀才會有「效果」
否則就只是一般純文字而已
目前比較常見的email client都「看得懂」html
所以可以直接在開啟email時「看見html的效果」
至於 markdown
你可以去搜尋各家email client的「外掛(plugin, extension)」
通常可以找到「看得懂markdown」的外掛
目前主流信件管理軟體,就是支援 text 純文字及 html 超文字。兩者差別,就在於你在信件 header 加一條Content-Type: text/html; Charset=UTF-8
然後你在本文中放 <hr>
就可以有效果了。少了這一條,<hr>
就是當作純文字秀出來。