1.專案中需要把指令碼附件傳送給同事郵箱,找了好久
1、安裝 gomail 包:
go get -v gopkg.in/gomail.v2
2、完整**:
package mainimport (
"fmt"
"gopkg.in/gomail.v2"
"mime")/*
go郵件傳送
*/func sendmail(mailto string, subject string, body string) error
m := gomail.newmessage(
//傳送文字時設定編碼,防止亂碼。 如果txt文字設定了之後還是亂碼,那可以將原txt文字在儲存時
//就選擇utf-8格式儲存
gomail.setencoding(gomail.base64),
)m.setheader("from", m.formataddress(mailconn["user"], "lll")) // 新增別名
m.setheader("to", mailto...) // 傳送給使用者(可以多個)
m.setheader("subject", subject) // 設定郵件主題
m.setbody("text/html", body) // 設定郵件正文
//乙個檔案(加入傳送乙個 txt 檔案):/tmp/foo.txt,我需要將這個檔案以郵件附件的方式進行傳送,同時指定附件名為:附件.txt
//同時解決了檔名亂碼問題
name := "附件.txt"
m.attach("e:/gocode/src/gomail/gomail.txt",
gomail.rename(name), //重新命名
gomail.setheader(map[string]string,
}),)
/*建立smtp客戶端,連線到遠端的郵件伺服器,需要指定伺服器位址、埠號、使用者名稱、密碼,如果埠號為465的話,
自動開啟ssl,這個時候需要指定tlsconfig
*/d := gomail.newdialer(mailconn["host"], 465, mailconn["user"], mailconn["pass"]) // 設定郵件正文
= &tls.config
err := d.dialandsend(m)
return err
}func main()
subject := "hello world!" // 郵件主題
body := "測試傳送郵件" // 郵件正文
err := sendmail(mailto, subject, body)
if err != nil
fmt.println("send successfully!")
}
整理如下
#開啟 go modules,如果你擔心影響到其他專案可以把這一項值寫為autogo env -w go111module=on
#設定 goproxy
go env -w goproxy=
找到你專案的根目錄執行
go mod init
4.如果郵件正文需要是整個檔案內容,**如下
package mainimport (
"bufio"
"crypto/tls"
"fmt"
"gopkg.in/gomail.v2"
"io"
"mime"
"os")/*
go郵件傳送*/
func sendmail(mailto string, subject string, body string) error
m := gomail.newmessage(
//傳送文字時設定編碼,防止亂碼。 如果txt文字設定了之後還是亂碼,那可以將原txt文字在儲存時
//就選擇utf-8格式儲存
gomail.setencoding(gomail.base64),
)m.setheader("from", m.formataddress(mailconn["user"], "ks~123")) // 新增別名
m.setheader("to", mailto...) // 傳送給使用者(可以多個)
m.setheader("subject", subject) // 設定郵件主題
"text/html", body) // 設定郵件正文
m.setbody("text/plain", body) // 設定郵件正文
//乙個檔案(加入傳送乙個 txt 檔案):/tmp/foo.txt,我需要將這個檔案以郵件附件的方式進行傳送,同時指定附件名為:附件.txt
//同時解決了檔名亂碼問題
name := "附件.txt"
m.attach("/home/scribe/test",
gomail.rename(name), //重新命名
gomail.setheader(map[string]string,
}),)
/*建立smtp客戶端,連線到遠端的郵件伺服器,需要指定伺服器位址、埠號、使用者名稱、密碼,如果埠號為465的話,
自動開啟ssl,這個時候需要指定tlsconfig
*/d := gomail.newdialer(mailconn["host"], 25, mailconn["user"], mailconn["pass"]) // 設定郵件正文
d.tlsconfig = &tls.config
err := d.dialandsend(m)
return err
}//go去讀檔案內容
func readall(filepth string) string
//a = a + line + "\n"
a = a + line}}
return a
}func main()
subject := "testtest" // 郵件主題
//body := "testtest" // 郵件正文
body := readall("/home/scribe/test")
err := sendmail(mailto, subject, body)
if err != nil
fmt.println("send successfully!")
}
html傳送郵件 Python傳送郵件(三十)
簡單郵件傳輸協議 smtp 是一種協議,用於在郵件伺服器之間傳送電子郵件和路由電子郵件。python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它...
C 傳送郵件
今天俺學習c 傳送郵件的方法 在命名空間system.web.mail 傳送電子郵件主要用到了二個物件 乙個是mailmessage物件,此物件主要是封裝電子郵件的各個屬性,即所謂的發信人,收信人,信件的主題,信件的內容和信件的附件等。另外乙個是 tpmail物件,這個物件的最大作用是把已經定義好各...
C 傳送郵件
今天作乙個小專案,其中有個提醒功能,需要簡訊和郵件。因此查詢了一下c 傳送郵件,原來在學習計算機網路時了解到,其實就是實現 tp協議和pop3協議,但是自己有沒有伺服器,於是利用126的郵箱製作。如下 mailmessage message new mailmessage message.from ...