0

SQL Server テーブルにレコードを挿入できる ASP.NET FormView があります。で「挿入」ボタンがクリックされた後、レコードがテーブルに正常に追加されたら、アプリケーションから電子メールを送信するにはどうすればよい<InsertItemTemplate>ですか?

メールの宛先、差出人、件名、本文などを指定できるようにしたいです。

.NET 4.0 と C# を使用しています。

.aspx ページ:

<asp:FormView ID="formViewNewOrder" runat="server" DataKeyNames="Order_ID" DataSourceID="dsource1">
    <InsertItemTemplate>
    <b>Order Number:</b> <asp:TextBox ID="txtInsertOrderNo" runat="server" Text='<%# Bind("Order_Number") %>' />
    <br />
    <br />
    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" onclick="InsertButton_Click" />
            &nbsp; &nbsp; &nbsp; &nbsp; 
    <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"    Text="Cancel" OnClick="InsertCancelButton_Click" />
    </InsertItemTemplate>
</asp:FormView>

分離コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
//Namespaces to be added?

protected void InsertButton_Click(object sender, EventArgs e)
{

    //Email code here ?

}
4

1 に答える 1

1
using System.Net.Mail;
using System.Net;

private void SendMail( string targetMail, 
                       string shownTargetName, 
                       string[] attachmentNames) {
  var fromAddress = new MailAddress("support@e-volution-software.de", "MailSendingProgram");
  var toAddress = new MailAddress(targetMail, shownTargetName);
  const string fromPassword = "12345isAbadPassword";
  subject = "Your Subject";
  body = 
        @"
          Here you can put in any text that will appear in the body
          multilined and even in <html>
        ";
  var smtp = new SmtpClient {
    Host = "smtp.1und1.de",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
  };

  using (var message = new MailMessage(fromAddress, toAddress) {
                             Subject = subject,
                             Body = body }
        ) {
    foreach(string filePath in attachmentNames[]) {
      Attachment attachMail = new Attachment(filePath);
      message.Attachments.Add(attachMail);
    }

    try {
      smtp.Send(message);
      MessageBox.Show("E-Mail sent!");
    } catch {
      MessageBox.Show("Sending failed, check your internet connection!");
    }
  }
}
于 2013-06-05T15:39:34.727 に答える