2012-03-30 22 views

Respuesta

44

Suponiendo que está utilizando el paquete net/smtp y la función smtp.SendMail, solo necesita declarar el tipo MIME en su mensaje.

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) 

Espero que esto ayude =)

+0

smtp.SendMail (servidor, auth, from, to, msg) - M en mayúscula en SendMail – deepakssn

+0

Editó la respuesta y corrigió el error. Gracias – GreyHands

14

yo soy el autor de gomail. Con este paquete se puede enviar fácilmente mensajes de correo electrónico 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) 
    } 
} 

También puede agregar una versión de texto sin formato del cuerpo de su correo electrónico para el cliente que no admite HTML usando el método AddAlternative.

+0

Se ve excelente, gracias vm por armar esto! –

+1

Da mejor envoltorio que he visto hasta ahora. Muy recomendable. – coffekid

+0

Perfecto !!!!!!!!! –

1

Ésta es una adición al @GreyHands respuesta:

que estaba teniendo el problema por el que incluso después de ajustar el MIME/Tipo de Contenido mis etiquetas html estaban mostrando como texto sin formato.

Resulta que importé html/template y el resultado de la fuga es que el html aparece como texto sin formato. Importar text/template, en cambio, solucionó el problema.

Cuestiones relacionadas