
在 Go 语言中可以使用标准库中的 net/smtp 来发送邮件。以下是已配置好 SMTP 服务器的示例代码:
package main
import (
"net/smtp"
)
func main() {
from := "youremail@163.com"
password := "yourpassword"
to := []string{"receive@qq.com"}
subject := "Test Subject"
body := "Test message body"
err := sendMail(from, password, to, subject, body)
if err != nil {
panic(err)
}
}
func sendMail(from, password string, to []string, subject, body string) error {
auth := smtp.PlainAuth("", from, password, "smtp.163.com")
msg := []byte("To: " + to[0] + "\r\n" +
"Subject: " + subject + "\r\n" +
"\r\n" + body + "\r\n")
err := smtp.SendMail("smtp.163.com:25", auth, from, to, msg)
if err != nil {
return err
}
return nil
}
在代码中,我们构建了一个邮件消息的 msg 变量,其中包括收件人地址、主题和正文,然后使用 smtp.SendMail 函数发送邮件。需要将 from 字段替换为您的发件人地址,password 字段替换为您的 SMTP 登录密码(或者是应用程序密码),smtp.163.com 替换为您的 SMTP 服务器地址。
使用 sendMail 函数时,需要传入发件人邮箱地址、SMTP 密码、收件人邮箱地址、邮件主题和正文内容。如果发送邮件成功,则返回 nil。如果发生错误,则返回一个非空错误。在实际使用中,请根据您的 SMTP 服务器和发件人邮箱的具体情况进行相应的配置。
常用的Smtp/POP3邮箱地址和端口总结
163.com:
接收邮件服务器: pop.163.com
接收端口: 110或995(使用ssl时)
接收邮件服务器:imap.163.com
接收端口: 143或993(使用ssl时)
发送邮件服务器:smtp.163.com
发送端口: 25或465/994(使用ssl时)
126邮箱:
接收邮件服务器:pop.126.com
接收端口: 110
发送邮件服务器: smtp.126.com
发送端口: 25
139邮箱:
POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:SMTP.139.com(端口:25)
QQ邮箱 :
接收邮件服务器: pop.qq.com
接收端口: 110或995(使用ssl时)
接收邮件服务器: imap.qq.com
接收端口: 143或993(使用ssl时)
发送邮件服务器: smtp.qq.com
发送端口: 25或465/587(使用ssl时)
QQ企业邮箱 :
POP3服务器地址:pop.exmail.qq.com (SSL启用 端口:995)
SMTP服务器地址:smtp.exmail.qq.com【端口:25或465/587(使用ssl时)】
gmail(http://google.com) :
POP3服务器地址:pop.gmail.com(SSL启用 端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587)
Foxmail:
POP3服务器地址: POP.foxmail.com(端口:110)
SMTP服务器地址: SMTP.foxmail.com(端口:25)
sina.com:
接收邮件服务器: pop.sina.com
接收端口: 110
发送邮件服务器: smtp.sina.com
发送端口: 25
sinaVIP:
POP3服务器: pop3.vip.sina.com (端口:110)
SMTP服务器: smtp.vip.sina.com (端口:25)
sohu.com:
POP3服务器地址: pop3.sohu.com(端口:110)
SMTP服务器地址: smtp.sohu.com(端口:25)