EmailUtility.cs
4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Collections;
using System.Xml;
using System.Text;
using System.IO;
using System.Net.Mail;
using log4net;
namespace AIAHTML5.API.Utility
{
public class EmailUtility
{
public string sFromAddress { get; set; }
public List<string> sToAddresses { get; set; }
public List<string> sBccAddresses { get; set; }
public string sHostName { get; set; }
public string sSubject { get; set; }
public int iPort { get; set; }
public bool bEnableSsl { get; set; }
public string sUserName { get; set; }
public string sPassword { get; set; }
public bool bIsBodyHtml { get; set; }
public List<Attachment> sAttachments { get; set; }
public string sBodyText { get; set; }
public AlternateView sAlternateView { get; set; }
public void SendMail(MailMessage mm)
{
try
{
SmtpClient smtp = new SmtpClient();
smtp.Host = ConfigurationManager.AppSettings["SMTPAddress"];
smtp.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["EnableSSL"]);
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(mm.From.ToString(), ConfigurationManager.AppSettings["SenderPassword"]);
smtp.Credentials = NetworkCred;
smtp.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]);
smtp.EnableSsl = false;
smtp.Send(mm);
}
catch (Exception e)
{
throw;
}
}
public void SendSmtpEmail()
{
ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
logger.Debug("inside SendSmtpEmail");
try
{
MailMessage sMail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(sHostName);
string recipientEmailAddress = string.Empty;
if (sToAddresses != null)
{
foreach (var sItem in sToAddresses)
{
sMail.To.Add(sItem);
logger.Debug("sToAddresses= " + sItem);
}
}
if (sBccAddresses != null)
{
foreach (var sItem in sBccAddresses)
{
sMail.Bcc.Add(sItem);
logger.Debug("sBccAddresses= " + sItem);
}
}
sMail.IsBodyHtml = bIsBodyHtml;
if (sAlternateView != null)
{
sMail.AlternateViews.Add(sAlternateView);
logger.Debug("sAlternateView= " + sAlternateView);
}
else
{
sMail.Body = sBodyText;
logger.Debug("sMail.Body= " + sBodyText);
}
sMail.Subject = sSubject;
logger.Debug("sMail.Subject= " + sSubject);
if (sAttachments != null)
{
foreach (var sItem in sAttachments)
{
sMail.Attachments.Add(sItem);
logger.Debug("sAttachments= " + sAttachments);
}
}
logger.Debug("sUserName= " + sUserName + ", sPassword= " + sPassword);
SmtpServer.Port = iPort;
SmtpServer.Credentials = new System.Net.NetworkCredential(sUserName, sPassword);
SmtpServer.EnableSsl = bEnableSsl;
using (MailMessage mm = new MailMessage(sFromAddress, sMail.To.ToString()))
{
mm.Subject = sSubject;
mm.IsBodyHtml = bIsBodyHtml;
if (sAlternateView != null)
{
mm.AlternateViews.Add(sAlternateView);
}
else
{
mm.Body = sBodyText;
}
mm.IsBodyHtml = true;
SendMail(mm);
logger.Debug("after sending email");
}
}
catch (Exception ex)
{
logger.Fatal("exception in SendSmtpEmail.msg= " + ex.Message + ", stacktarce= " + ex.StackTrace);
throw ex;
}
}
}
}