I want to send mail to multiple recipients in Go, with my yahoo mail, but I from all recipients only I get mail.
Code:
err := smtp.SendMail(
"smtp.mail.yahoo.com:25",
auth,
"testmail1@yahoo.com",
[]string{"testmail1@yahoo.com, testmail2@yahoo.com"},
[]byte("test")
message:
From: "testMail1" <testmail1@yahoo.com>
To: testMail1 <testmail1@yahoo.com>, testMail2 <testmail2@yahoo.com>,
Subject: "mail"
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64
This is output:
2015/05/18 20:22:26 501 Syntax error in arguments
What have I done wrong?
Your code snippet is incomplete and does not match your email. Could you send more code?
Anyway you can try replacing:
[]string{"testmail1@yahoo.com, testmail2@yahoo.com"},
By:
[]string{"testmail1@yahoo.com", "testmail2@yahoo.com"},
Also you can try my package Gomail to easily send emails:
package main
import (
"gopkg.in/gomail.v2"
)
func main() {
m := gomail.NewMessage()
m.SetAddressHeader("From", "testmail1@yahoo.com", "testMail1")
m.SetHeader("To",
m.FormatAddress("testmail1@yahoo.com", "testMail1"),
m.FormatAddress("testmail2@yahoo.com", "testMail2"),
)
m.SetHeader("Subject", "mail")
m.SetBody("text/plain", "Hello!")
d := gomail.NewPlainDialer("smtp.mail.yahoo.com", 25, "login", "password")
if err := d.DialAndSend(m); err != nil {
panic(err)
}
}