良い一日
asp.net を使用して電子メールを送信しています。「問い合わせ」または「送信」ボタンを押すと、電子メールが送信されますが、電子メールが送信されたことをユーザーに確認する方法がわかりません。
それ、どうやったら出来るの?
HTML:
<tr><td colspan="2"><asp:Button class="btn btn-success" ID="ButtonEnquire" OnClick="Button1_Click" runat="server" Text="Enquire" /></td></tr>
サーバー側コード ビハインド:
システムを使用する; System.Collections.Generic の使用; System.Linq を使用します。System.Web の使用; System.Web.UI を使用します。System.Web.UI.WebControls を使用します。
namespace Contact.Secure
{
public partial class Corporate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PopulateDropDownTypeofCards();
}
//DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.ContactMethodTypes));
//DropDownList1.DataTextField = "EnumDescription";
//DropDownList1.DataValueField = "EnumValue";
//DropDownList1.DataBind();
}
private void PopulateDropDownTypeofCards()
{
DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.CardTypes));
DropDownTypeofCards.DataTextField = "EnumDescription";
DropDownTypeofCards.DataValueField = "EnumValue";
DropDownTypeofCards.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
var html = string.Format("<html><head></head><body>{0}<br/>{1}<br />{2}<br />{3}<br />{4}<br />{5}</body></html>", TextBoxName.Text, TextBoxEmailAddress.Text, TextBoxCompanyName.Text, TextBoxCompanyAddress.Text, TextBoxPhoneNumber.Text, TextBoxAmiuntofCardstoSubscribe.Text, DropDownTypeofCards.Text);
SendEmail(System.Configuration.ConfigurationManager.AppSettings["ContactUsFormSubmission"].ToString(), "Form Submission", html, true, "no-reply@mail.com", true, 587);
}
public static void SendEmail(string toEmail, string subject, string body, bool isHTML = false, string fromAddress = null, bool enableSSL = false, int SSLPort = 465, string[] Attachment = null)
{
try
{
if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["SendEmail"].ToString()))
{
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add(toEmail);
message.Subject = subject;
if (string.IsNullOrEmpty(fromAddress) || string.IsNullOrWhiteSpace(fromAddress))
{
message.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["SMTPFromAddress"].ToString());
}
else
{
message.From = new System.Net.Mail.MailAddress(fromAddress);
}
message.IsBodyHtml = isHTML;
message.Body = body;
if (enableSSL)
{
}
if (Attachment != null)
{
if (Attachment.Count() > 0)
{
foreach (string a in Attachment)
{
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(a);
message.Attachments.Add(attachment);
}
}
}
System.Net.Mail.SmtpClient smtp;
if (enableSSL)
{
smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort);
smtp.UseDefaultCredentials = false;
}
else
{
smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort);
smtp.UseDefaultCredentials = false;
}
smtp.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["SMTPUser"].ToString(), System.Configuration.ConfigurationManager.AppSettings["SMTPPassword"].ToString());
smtp.EnableSsl = enableSSL;
smtp.Timeout = 60000;
try
{
smtp.Send(message);
}
catch
{
throw;
}
}
}
catch (Exception)
{
throw;
}
}
}
}