Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
e9a1daa3
Commit
e9a1daa3
authored
Aug 26, 2014
by
astaxie
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #780 from francoishill/patch-18
Allow mail with self-signed certificates
parents
a3888cef
44ea260d
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
7 deletions
+54
-7
smtp.go
logs/smtp.go
+54
-7
No files found.
logs/smtp.go
View file @
e9a1daa3
...
@@ -71,6 +71,59 @@ func (s *SmtpWriter) GetSmtpAuth(host string) smtp.Auth {
...
@@ -71,6 +71,59 @@ func (s *SmtpWriter) GetSmtpAuth(host string) smtp.Auth {
)
)
}
}
func
(
s
*
SmtpWriter
)
sendMail
(
hostAddressWithPort
string
,
auth
smtp
.
Auth
,
fromAddress
string
,
recipients
[]
string
,
msgContent
[]
byte
)
error
{
client
,
err
:=
smtp
.
Dial
(
hostAddressWithPort
)
if
err
!=
nil
{
return
err
}
host
,
_
,
_
:=
net
.
SplitHostPort
(
hostAddressWithPort
)
tlsConn
:=
&
tls
.
Config
{
InsecureSkipVerify
:
true
,
ServerName
:
host
,
}
if
err
=
client
.
StartTLS
(
tlsConn
);
err
!=
nil
{
return
err
}
if
auth
!=
nil
{
if
err
=
client
.
Auth
(
auth
);
err
!=
nil
{
return
err
}
}
if
err
=
client
.
Mail
(
fromAddress
);
err
!=
nil
{
return
err
}
for
_
,
rec
:=
range
recipients
{
if
err
=
client
.
Rcpt
(
rec
);
err
!=
nil
{
return
err
}
}
w
,
err
:=
client
.
Data
()
if
err
!=
nil
{
return
err
}
_
,
err
=
w
.
Write
([]
byte
(
msgContent
))
if
err
!=
nil
{
return
err
}
err
=
w
.
Close
()
if
err
!=
nil
{
return
err
}
err
=
client
.
Quit
()
if
err
!=
nil
{
return
err
}
return
nil
}
// write message in smtp writer.
// write message in smtp writer.
// it will send an email with subject and only this message.
// it will send an email with subject and only this message.
func
(
s
*
SmtpWriter
)
WriteMsg
(
msg
string
,
level
int
)
error
{
func
(
s
*
SmtpWriter
)
WriteMsg
(
msg
string
,
level
int
)
error
{
...
@@ -89,13 +142,7 @@ func (s *SmtpWriter) WriteMsg(msg string, level int) error {
...
@@ -89,13 +142,7 @@ func (s *SmtpWriter) WriteMsg(msg string, level int) error {
mailmsg
:=
[]
byte
(
"To: "
+
strings
.
Join
(
s
.
RecipientAddresses
,
";"
)
+
"
\r\n
From: "
+
s
.
Username
+
"<"
+
s
.
Username
+
mailmsg
:=
[]
byte
(
"To: "
+
strings
.
Join
(
s
.
RecipientAddresses
,
";"
)
+
"
\r\n
From: "
+
s
.
Username
+
"<"
+
s
.
Username
+
">
\r\n
Subject: "
+
s
.
Subject
+
"
\r\n
"
+
content_type
+
"
\r\n\r\n
"
+
fmt
.
Sprintf
(
".%s"
,
time
.
Now
()
.
Format
(
"2006-01-02 15:04:05"
))
+
msg
)
">
\r\n
Subject: "
+
s
.
Subject
+
"
\r\n
"
+
content_type
+
"
\r\n\r\n
"
+
fmt
.
Sprintf
(
".%s"
,
time
.
Now
()
.
Format
(
"2006-01-02 15:04:05"
))
+
msg
)
err
:=
smtp
.
SendMail
(
err
:=
s
.
sendMail
(
s
.
Host
,
auth
,
s
.
Username
,
s
.
RecipientAddresses
,
mailmsg
)
s
.
Host
,
auth
,
s
.
Username
,
s
.
RecipientAddresses
,
mailmsg
,
)
return
err
return
err
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment