Tôi đã tìm thấy thư viện này và đã quản lý gửi tệp đính kèm trong một email trống nhưng không kết hợp văn bản và tệp đính kèm.Cách gửi email có tệp đính kèm trong số
https://github.com/sloonz/go-mime-message
Làm cách nào để hoàn thành?
Tôi đã tìm thấy thư viện này và đã quản lý gửi tệp đính kèm trong một email trống nhưng không kết hợp văn bản và tệp đính kèm.Cách gửi email có tệp đính kèm trong số
https://github.com/sloonz/go-mime-message
Làm cách nào để hoàn thành?
tôi đã kết thúc việc thực hiện nó bản thân mình: https://github.com/scorredoira/email
Cách sử dụng rất đơn giản:
m := email.NewMessage("Hi", "this is the body")
m.From = "[email protected]"
m.To = []string{"[email protected]"}
err := m.Attach("picture.png")
if err != nil {
log.Println(err)
}
err = email.Send("smtp.gmail.com:587", smtp.PlainAuth("", "user", "password", "smtp.gmail.com"), m)
Các tệp đính kèm trong giao thức SMTP được gửi bằng thông điệp Multipart MIME.
Vì vậy, tôi đề nghị bạn chỉ đơn giản là
tạo MultipartMessage
thiết lập văn bản của bạn ở phần nắm tay như một TextMessage
(với "Content-Type", "text/plain"
)
thêm tệp đính kèm của bạn như các bộ phận sử dụng AddPart
.
Đó là những gì tôi đang cố gắng nhưng vì lý do nào đó tôi không thể làm cho nó hoạt động. Tôi đã tạo một vấn đề giải thích chi tiết tại đây: https://github.com/sloonz/go-mime-message/issues/1 –
Bạn có thể vui lòng cho tôi biết bạn đang giới thiệu thư viện nào không ?. –
Tôi tạo ra gomail cho mục đích này. Nó hỗ trợ các phần đính kèm cũng như ghép các email và mã hóa các ký tự không phải ASCII. Nó là tài liệu và thử nghiệm.
Dưới đây là một ví dụ:
package main
func main() {
m := gomail.NewMessage()
m.SetHeader("From", "[email protected]")
m.SetHeader("To", "[email protected]", "[email protected]")
m.SetAddressHeader("Cc", "[email protected]", "Dan")
m.SetHeader("Subject", "Hello!")
m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
m.Attach("/home/Alex/lolcat.jpg")
d := gomail.NewPlainDialer("smtp.example.com", 587, "user", "123456")
// Send the email to Bob, Cora and Dan.
if err := d.DialAndSend(m); err != nil {
panic(err)
}
}
Tôi thích sử dụng cho các mục đích https://github.com/jordan-wright/email email. Nó hỗ trợ tệp đính kèm.
Email cho con người
Các gói phần mềm thư điện tử được thiết kế để đơn giản để sử dụng, nhưng cũng đủ linh hoạt như vậy là không được hạn chế. Mục tiêu là cung cấp giao diện email cho con người.
Các gói phần mềm email hiện hỗ trợ như sau:
- Từ, Tổ, Bcc và Cc
địa chỉ- Email trong cả hai định dạng "[email protected]" và "Đầu cuối"
- văn bản và HTML nhắn Body
- đính kèm
- Xác nhận đã đọc
- Tiêu đề tùy chỉnh
- Thêm nữa!
điều này có lẽ là dễ nhất: 3 – Kokizzu
Gmail không cho phép điều này nữa. – qed
@qed, tôi vừa mới thử nghiệm với Gmail và nó hoạt động tốt. –
@qed bạn cần phải đi vào cài đặt tài khoản google của mình và trong ứng dụng/bảo mật cho phép truy cập ứng dụng không an toàn. Tôi rất khuyên bạn nên sử dụng một tài khoản email gửi đi cho mục đích này. Nếu bạn đăng ký gmail và bạn dưới một độ tuổi nhất định - Tôi nghĩ là 16 hoặc 18 - bạn không phải cung cấp địa chỉ email trước đó khi đăng ký. – anon58192932