2012-03-30 32 views

Trả lời

44

Giả sử bạn đang sử dụng gói net/smtp và do đó hàm smtp.SendMail, bạn chỉ cần khai báo loại MIME trong thư của bạn.

mime := "MIME-version: 1.0;\nContent-Type: text/html; charset=\"UTF-8\";\n\n"; 
subject := "Subject: Test email from Go!\n" 
msg := []byte(subject + mime + "<html><body><h1>Hello World!</h1></body></html>") 

smtp.SendMail(server, auth, from, to, msg) 

Hope this helps =)

+0

smtp.SendMail (máy chủ, auth, từ, đến, msg) - M trong trường hợp trên trong SendMail – deepakssn

+0

Đã chỉnh sửa câu trả lời và sửa lỗi đánh máy. Cảm ơn – GreyHands

14

Tôi là tác giả của gomail. Với gói này, bạn có thể dễ dàng gửi email HTML:

package main 

import (
    "gopkg.in/gomail.v2" 
) 

func main() { 
    m := gomail.NewMessage() 
    m.SetHeader("From", "[email protected]") 
    m.SetHeader("To", "[email protected]") 
    m.SetHeader("Subject", "Hello!") 
    m.SetBody("text/html", "Hello <b>Bob</b>!") 

    // Send the email to Bob 
    d := gomail.NewPlainDialer("smtp.example.com", 587, "user", "123456") 
    if err := d.DialAndSend(m); err != nil { 
     panic(err) 
    } 
} 

Bạn cũng có thể thêm một phiên bản văn bản đơn giản của cơ thể trong email của bạn cho khách hàng mà không hỗ trợ HTML bằng cách sử dụng phương pháp AddAlternative.

+0

Trông tuyệt vời, cảm ơn vm vì đã đặt điều này lại với nhau! –

+1

Trình bao bọc đẹp nhất tôi đã thấy cho đến nay. Rat khuyen khich. – coffekid

+0

Perfect !!!!!!!!! –

1

Đây là một phụ lục để @GreyHands trả lời:

Tôi đã có những vấn đề mà thậm chí sau khi đặt MIME/Nội dung Gõ thẻ html của tôi được thể hiện dưới dạng văn bản thuần.

Hóa ra tôi đã nhập html/template và quá trình thoát dẫn đến html xuất hiện dưới dạng văn bản thuần túy. Thay vào đó, nhập text/template, đã khắc phục sự cố.

Các vấn đề liên quan