잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (888)  |  추천 및 재미 (152)  |  자료실 (20)  |  끄적거림 (519)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 09월 21일
사람의 의지는 쉽게 죽지 않는다. 단지, 잡으려던 것의 방향성일 뿐. - 바다아이
 




    golang

golang - golang send email net/smtp ssl tls SMTP 이메일 보내기
이 름 : 바다아이   |   조회수 : 3126         짧은 주소 : https://www.bada-ie.com/su/?611591783507
package main

import (
	"crypto/tls"
	"fmt"
	"log"
	"net"
	"net/mail"
	"net/smtp"
)

const (
	MIME = "MIME-version: 1.0;\nContent-Type: text/html; charset=\"UTF-8\";\n\n"
)

// SSL/TLS Email Example

func main() {

	// 이거 smtp 서버랑 주소 안 맞으면 거부됩니다. 네이버면 아이디@naver.com 그리고 mail.Address 첫번째 공백은 이름인데 없어도 됨
	from := mail.Address{"", "보낸 사람 메일"}
	to := mail.Address{"", "받을 사람 메일"}
	subj := "This is the email subject 나여나"
	body := "This is an example body.<br> With two lines. <br>내용이여.."

	// Setup headers
	headers := make(map[string]string)
	headers["From"] = from.String()
	headers["To"] = to.String()
	headers["Subject"] = subj

	// Setup message
	message := ""
	for k, v := range headers {
		message += fmt.Sprintf("%s: %s\r\n", k, v)
	}
	message += MIME + "\r\n" + body

	// Connect to the SMTP Server
	servername := "smtp 주소:465"

	host, _, _ := net.SplitHostPort(servername)

	auth := smtp.PlainAuth("", "아이디", "패스워드", host)

	// TLS config
	tlsconfig := &tls.Config{
		InsecureSkipVerify: true,
		ServerName:         host,
	}

	// Here is the key, you need to call tls.Dial instead of smtp.Dial
	// for smtp servers running on 465 that require an ssl connection
	// from the very beginning (no starttls)
	conn, err := tls.Dial("tcp", servername, tlsconfig)
	if err != nil {
		log.Panic(err)
	}

	c, err := smtp.NewClient(conn, host)
	if err != nil {
		log.Panic(err)
	}

	// Auth
	if err = c.Auth(auth); err != nil {
		log.Panic(err)
	}

	// To && From
	if err = c.Mail(from.Address); err != nil {
		log.Panic(err)
	}

	if err = c.Rcpt(to.Address); err != nil {
		log.Panic(err)
	}

	// Data
	w, err := c.Data()
	if err != nil {
		log.Panic(err)
	}

	_, err = w.Write([]byte(message))
	if err != nil {
		log.Panic(err)
	}

	err = w.Close()
	if err != nil {
		log.Panic(err)
	}

	c.Quit()

}

출처 : https://gist.github.com/chrisgillis/10888032
| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
173 golang , String Formatting 바다아이 215
172 golang rand.Intn , random, , . 바다아이 232
171 golang golang ... 바다아이 1387
170 golang golang gopath, goroot .. 바다아이 1052
169 golang golang ... Force download file example 바다아이 1551
168 golang golang , , cpu, memory, disk 바다아이 2277
167 golang golang , ... GOOS, GOARCH 바다아이 1598
166 golang golang checkbox ... 바다아이 1834
165 golang golang , , http .... 바다아이 1767
164 golang golang nil , nil , nil ... 바다아이 1857
163 golang 2 golang, go , .... golang .... 바다아이 2667
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 1943
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 2041
160 golang golang , iconv 바다아이 2181
159 golang golang quote escape, unquote 바다아이 2098
158 golang golang , http errorLog , , ... 바다아이 2206
157 golang golang interface , 바다아이 2137
156 golang golang struct .... 바다아이 2267
155 golang golang map map , 바다아이 2119
154 golang golang map .... .... 바다아이 2093
153 golang golang slice copy 바다아이 2049
152 golang golang goto 바다아이 2134
151 golang golang slice sort , int, string, float64 바다아이 2199
150 golang URL Parsing, url . parse 바다아이 2255
149 golang golang , interface{} ... 바다아이 2179
148 golang golang interface to string, , , map slice json 바다아이 2033
147 golang golang How to convert JSON string to map and slice, json 바다아이 2184
146 golang golang , file write, Writing Files 바다아이 2313
145 golang golang Insert Line or String to File, , , , , 바다아이 2060
144 golang golang replace 바다아이 2141
| |








Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : 구글 클라우드 플랫폼  실행시간 : 0.0613
to webmaster... gogo sea. gogo sea.