-10

.aspx ページでテキスト ボックスと送信ボタンを使用し、ボタン クリックでこれらすべてのテキスト ボックスのデータをメールで送信したいので、解決策を教えてください...

4

5 に答える 5

3

ボタンクリックイベントでこの関数を呼び出します

public bool SendOnlyToEmail(string sToMailAddr, string sSubject, string sMessage,
                                         string sFromMailAddr)
            {
                try
                {
                    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
                    if (string.IsNullOrEmpty(sFromMailAddr))
                    {
// fetching from address from web config key
                        msg.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["MailFrom"]); 
                    }
                    else
                    {
                        msg.From = new System.Net.Mail.MailAddress(sFromMailAddr);
                    }

                    foreach (string address in sToMailAddr)
                    {
                        if (address.Length > 0)
                        {
                            msg.To.Add(address);
                        }
                    }
                    msg.Subject = sSubject;
                    msg.Body = sMessage;
                    msg.IsBodyHtml = true;

                    //fetching smtp address from web config key
                    System.Net.Mail.SmtpClient objSMTPClient = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["MailServer"]);
                    //SmtpMail.SmtpServer = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["MailServer"]);
                    if (sToMailAddr.Length > 0)
                    {
                        objSMTPClient.Send(msg);
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                catch (Exception objException)
                {
                    ErrorLog.InsertException(objException);
                    return false;
                }
            }
于 2012-06-26T06:33:10.800 に答える
2

これを解決するコードのみの方法はありません。あなたはあなたのメールをディスパッチするためにSMTPサーバーを持っていることに依存しています。最良のシナリオ:サーバー上にデフォルトのポートを使用してすでに1つ設定されています。その場合、必要なのはこれだけです。

SmtpClient client = new SmtpClient("localhost");
client.Send(new MailMessage("me@myserver.com", "someoneelse@foo.com"));

それができない場合は、無料のSMTPアカウントを設定するか、(大量のメールを送信することを計画している場合は絶対に必要です)、AmazonSESなどのメールサービスプロバイダーでアカウントを取得することを検討できます。

于 2012-06-26T06:28:48.080 に答える
2

SmtpClientクラスを使用できます。

于 2012-06-26T06:23:00.830 に答える
1

次のコードを使用してメールを送信できます。

SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("senderEmail");
message.From = fromAddress;
message.Subject = "your subject";
message.Body = txtBox.Text;//Here put the textbox text
message.To.Add("to");
smtpClient.Send(message);//returns the boolean value ie. success:true
于 2012-06-26T06:28:50.507 に答える
1

    <script runat="server">

        protected void Button1_Click(object sender, EventArgs e)
        {
            //create the mail message
            MailMessage mail = new MailMessage();

            //set the addresses
            mail.From = new MailAddress("info@infoA2Z.com");
            mail.To.Add("Support@infoA2Z.com");

            //set the content
            mail.Subject = "This is an email";
            mail.Body = "this is the body content of the email.";

            //send the message
            SmtpClient smtp = new SmtpClient();
            smtp.Send(mail);
        }
    </script>
于 2012-12-16T20:24:24.450 に答える