отправить письмо в asp.net - PullRequest
       6

отправить письмо в asp.net

0 голосов
/ 10 ноября 2011

Между головой и телом у меня есть:

<script language="C#" runat="server"> 

private void sendmail(Object sender, EventArgs e)
        {

        try
        {

            MailMessage mailObj = new MailMessage();
            mailObj.From = "no-reply@domain.be";
            mailObj.To = "nick@domain.be";
            mailObj.Subject = "Email via site ";
            mailObj.Body = "Dit is een email verstuurd via ASP.net .";
            //mailObj.BodyFormat = MailFormat.Text;
            SmtpMail.SmtpServer = "smtp.one.com";
            SmtpMail.Send(mailObj);
            Response.Write("Email werd succesvol vestuurd");
        }
        catch (Exception x)
        {
            Response.Write("Email werd niet verstuurd: " + x.Message);
        }
    } 
    </script> 

, а в теле -

<form id="Form1" method="post" runat="server"> 

Но письма не отправляются, почемуне ??

Ответы [ 3 ]

2 голосов
/ 10 ноября 2011

Потому что вам нужно вызвать метод sendmail. В вашем коде нет ничего, что бы это вызывало.

У вас может быть кнопка в разметке, которая вызывает sendEmail при нажатии.

Например:

<asp:button id="btnSend" OnClick="sendmail" runat="server" Text="Send" />

Также SmtpMail устарел . Используйте SmtpClient

0 голосов
/ 10 ноября 2011

Я фактически гарантирую вам, что либо этот SMTP-сервер не существует, либо вы не передаете правильные учетные данные. Если у вас есть учетная запись GMail, попробуйте следующий код, который будет проходить проверку подлинности и отправлять почту с использованием SMTP-сервера GMail. Как только это сработает, вернитесь назад, пока вы не проведете надлежащую аутентификацию на основе своей собственной.

System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Timeout = 3000;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Host = "smtp.gmail.com";
client.Port = 587;

System.Net.NetworkCredential myCreds = new System.Net.NetworkCredential(
     "Your@emailhere.com"
     "YourPasswordHere"
                "");


client.Credentials = myCreds;
client.EnableSsl = true;

client.Send(message);
0 голосов
/ 10 ноября 2011

Кажется, для вашего SMTP-сервера не установлена ​​какая-либо аутентификация.

Возможно, вы захотите рассмотреть более новый класс 'SmtpClient'. Подробности здесь: http://msdn.microsoft.com/en-us/library/swas0fwc.aspx

...