当前位置: 首页 > 知识库问答 >
问题:

如何用Auth发送邮件?

郤瀚
2023-03-14
535 5.7.8 Username and Password not accepted. Learn more at
5.7.8  https://support.google.com/mail/?p=BadCredentials p24sm107930499pfk.155 - gsmtp
// Set up authentication information.
auth := smtp.PlainAuth(
    "",
    "email",
    "password",
    "smtp.gmail.com",
)
// Connect to the server, authenticate, set the sender and recipient,
// and send the email all in one step.
err := smtp.SendMail(
    "smtp.gmail.com:25",
    auth,
    "emailFrom",
    []string{EmailToooo},
    []byte("This is the email body."),
)
if err != nil {
    log.Fatal(err)
} 
m := gomail.NewMessage()
m.SetHeader("From", "SenderEmail@gmail.com")
m.SetHeader("To", "Email_Tooo@gmail.com")
m.SetHeader("Subject", "Hello!")
m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")

d := gomail.NewDialer("smtp.gmail.com", 587, "email", "password")

// Send the email to Bob, Cora and Dan.
if err := d.DialAndSend(m); err != nil {
    fmt.Println(err)
}    

我还尝试了一个gopkg.in/gomail.v2包来执行NoAuth邮件,但在这个包中,它会给出端口连接错误(参见给定代码:-

m := gomail.NewMessage()
m.SetHeader("From", "from@example.com")
m.SetHeader("To", "to@example.com")
m.SetHeader("Subject", "Hello!")
m.SetBody("text/plain", "Hello!")

d := gomail.Dialer{Host: "localhost", Port: 587}
if err := d.DialAndSend(m); err != nil {
    panic(err)
}   

我还将端口更改为8080,做完8080之后,它不会给出任何响应,它只显示请求。

共有1个答案

李鹏
2023-03-14

在第一个示例中尝试使用端口587。应该起作用了。

err := smtp.SendMail(
    "smtp.gmail.com:587",
    auth,
    "emailFrom",
    []string{EmailToooo},
    []byte("This is the email body."),
)

如果您使用smtp.gmail.com,那么正确的端口是587(TLS)或465(SSL),必须允许使用安全性较低的应用程序

 类似资料:
  • 问题 如何用Gmail发送邮件? 解法 安装和维护邮件服务器通常是沉闷乏味的。所以如果你有Gmail帐号,就可以使用Gmail做为SMTP服务器来发送邮件,我们唯一要做的就只是在web.config中指定Gmail的用户名和密码。 web.config.smtp_server = 'smtp.gmail.com' web.config.smtp_port = 587 web.config.smtp

  • 问题内容: 下面的代码正确发送了电子邮件,但发送给了正文。我需要在邮件正文中显示html,但我无法做到这一点。网络中的示例不会发送电子邮件:( 如何修复我的代码以发送带有html正文的电子邮件? 万分感谢! 问题答案: 将此标题用于邮件: 对于内容/正文: 使用内联css命令并建议使用表作为接口很重要。 … 在您的Mail-Body中,您不必将HTML代码放在头部和身体上]

  • 问题内容: 我在网站上使用PHP,并且想添加电子邮件功能。 我已经安装了WAMPSERVER。 如何使用PHP发送电子邮件? 问题答案: 使用PHP的功能是可能的。请记住,邮件功能在本地服务器上不起作用。

  • 大家好,我正在尝试使用JavaMail和Amazon SES发送电子邮件,这是我写的代码, 但我有个例外说, 线程“main”javax中出现异常。邮政SendFailedException:无法发送电子邮件;嵌套的例外是:com。亚马逊。服务。简单邮件。模型MessageRejectedException:未验证电子邮件地址。以下身份未通过US-EAST-1区域的登记 我没有得到任何解决方案,s

  • 在我的表格中有一个上传简历的部分,我使用MailgunAPI发送邮件,我发现使用表格发送附件有问题。 如何在用户提交时发送附加文件以及我的表单的其他详细信息。 请参见我的表单的下图。附件应该是动态的,而不是静态的。

  • 问题内容: 香港专业教育学院一直从Java发送最简单的电子邮件没有问题,但我现在正尝试发送html如下: 但是,当我在客户端收到它时,它以纯文本电子邮件的形式接收,即它显示所有html标记,而不是用于格式化,并且我已经检查了电子邮件标题,并说 在邮件标题中 但是为什么因为我将“ text / html”传递给setContent()方法,那似乎是您唯一要做的事情。 问题答案: 您可以尝试以下方法: