Go语言通过smtp发送邮件的示例代码

问题描述

如下:package mainimport ( "net/smtp" "fmt" "strings") /* * user : example@example.com login smtp server user * password: **xx login smtp server password * host: smtp.example.com:port smtp.163.com:25 * to: example@example.com;example1@163.com;example2@sina.com.cn;... * subject:The subject of mail * body: The content of mail * mailtyoe: mail type html or text */ func SendMail(user, password, host, to, subject, body, mailtype string) error{ hp := strings.Split(host, ":") auth := smtp.PlainAuth("", user, password, hp) var content_type string if mailtype == "html" { content_type = "Content-Type: text/"+ mailtype + "; charset=UTF-8" }else{ content_type = "Content-Type: text/plain" + "; charset=UTF-8" } msg := []byte("To: " + to + "rnFrom: " + user + "rnSubject: " + subject + "rn" + content_type + "rnrn" + body) send_to := strings.Split(to, ";") err := smtp.SendMail(host, auth, user, send_to, msg) return err} func main() { user := "**x@163.com" password := "**x" host := "smtp.163.com:25" to := "**x@gmail.com;ssssss@gmail.com" subject := "Test send email by golang" body := ` "Test send email by golang" ` fmt.Println("send email") err := SendMail(user, password, host, to, subject, body, "html") if err != nil { fmt.Println("send mail error!") fmt.Println(err) }else{ fmt.Println("send mail success!") } }

时间: 2024-12-31 02:51:55

Go语言通过smtp发送邮件的示例代码的相关文章

Go语言通过smtp发送邮件的方法_Golang

本文实例讲述了Go语言通过smtp发送邮件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "net/smtp"  "fmt"  "strings" ) /*  * user : example@example.com login smtp server user  * password: xxxxx login smtp server password  * host: smt

在asp.NET 中使用SMTP发送邮件的实现代码

核心代码:复制代码 代码如下: public class Mail { #region 邮件参数 static public string accountName = System.Configuration.ConfigurationManager.AppSettings["SmtpAccountName"]; static public string password = System.Configuration.ConfigurationManager.AppSettings[&

在asp.NET 中使用SMTP发送邮件的实现代码_实用技巧

核心代码: 复制代码 代码如下: public class Mail { #region 邮件参数 static public string accountName = System.Configuration.ConfigurationManager.AppSettings["SmtpAccountName"]; static public string password = System.Configuration.ConfigurationManager.AppSettings[

C语言 变量详解及示例代码_C 语言

C 变量 变量其实只不过是程序可操作的存储区的名称.C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和下划线字符组成.它必须以字母或下划线开头.大写字母和小写字母是不同的,因为 C 是大小写敏感的.基于前一章讲解的基本类型,有以下几种基本的变量类型: 类型 描述 char 通常是一个八位字节(一个字节).这是一个整数类型. int 对机器而言,整数的最自然的大小. float 单精度浮点值. doub

C语言 常量详解及示例代码_C 语言

C 常量 常量是固定值,在程序执行期间不会改变.这些固定的值,又叫做字面量. 常量可以是任何的基本数据类型,比如整数常量.浮点常量.字符常量,或字符串字面值,也有枚举常量. 常量就像是常规的变量,只不过常量的值在定义后不能进行修改. 整数常量 整数常量可以是十进制.八进制或十六进制的常量.前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制. 整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long).

C语言 运算符详细介绍及示例代码_C 语言

C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和其他运算符. 算术运算符 下表显示了 C 语言支持的所有算术运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A

C语言小程序 数组操作示例代码

对数组进行操作,查找.插入.删除   复制代码 代码如下: #include <stdio.h> #include <stdlib.h> #include <time.h> int size = 0; int flag = 0; void output(int *arry) {  int i = 0;  for(i=0; i<size; i++)  {   printf("arry[%d]=%dt",i,arry[i]);   if((i+1)

C语言小程序 数组操作示例代码_C 语言

复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <time.h>int size = 0;int flag = 0;void output(int *arry){ int i = 0; for(i=0; i<size; i++) {  printf("arry[%d]=%d\t",i,arry[i]);  if((i+1)%5 == 0)   printf("\n&qu

C++实现顺序排序算法简单示例代码_C 语言

本文实例讲述了最直接的顺序排序法VC++示例代码,还记得以前上学时候这是计算机的必考题,而且在排序算法中,顺序排序似乎是最简单的了,也是最容易掌握的.现在列出来让大家重新回顾一下! 具体代码如下: //顺序排序 void InsertSort(int r[], int n){ for (int i=2; i<n; i++){ r[0]=r[i]; //设置哨兵 for (int j=i-1; r[0]<r[j]; j--) //寻找插入位置 r[j+1]=r[j]; //记录后移 r[j+1]