You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
package api
|
|
|
|
import (
|
|
"yunyan/comm"
|
|
"yunyan/pb"
|
|
"yunyan/sys/email"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// 上传设备升级包
|
|
func (this *apiComp) Sendsmtpemail(session comm.IUserSession, req *pb.ApiSendsmtpemailReq) (resp *pb.ApiSendsmtpemailResp, errdata *pb.ErrorData) {
|
|
|
|
var (
|
|
filename, filePath string
|
|
file *os.File
|
|
err error
|
|
)
|
|
filename = session.GetMateToString("file_name")
|
|
filePath = session.GetMateToString("file_path")
|
|
defer os.Remove(filePath)
|
|
if file, err = os.Open(filePath); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_ReqParameterError,
|
|
Message: pb.ErrorCode_ReqParameterError.String(),
|
|
}
|
|
return
|
|
}
|
|
defer file.Close()
|
|
to := strings.Split(req.To, ",")
|
|
if req.Cc != "" {
|
|
to = append(to, strings.Split(req.Cc, ",")...)
|
|
}
|
|
if req.Bcc != "" {
|
|
to = append(to, strings.Split(req.Bcc, ",")...)
|
|
}
|
|
|
|
if err = email.SendMailForFile(req.Subject, req.Content, filePath, filename, to...); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_ReqParameterError,
|
|
Message: pb.ErrorCode_ReqParameterError.String(),
|
|
}
|
|
}
|
|
resp = &pb.ApiSendsmtpemailResp{}
|
|
return
|
|
}
|
|
|