Decrease Font Size
Increase Font Size
   BLOG

ASP.NET Sending email through Hotmail

by bryian 8. November 2009 13:12

ASP .NET How to Send Email asynchronously | ASP .NET sends email using live.com account

I was browsing the ASP.NET forum the other day and saw a topic "Problem sending email" using hotmail account Asynchronously. Personally, I haven't tried that before and I did get it to work. Below is the code in vb.net and CSharp version. Make sure to set Async="true" in the page directive because we are sending the email Asynchronously.

Here is the entry in Web.config

<configuration>
<system.net>
    <mailSettings>
      <smtp from="myEmail@hotmail.com"> 
        <network host="smtp.live.com" defaultCredentials="false"  port="25" userName ="myHotmailEmail@hotmail.com" password="myHotmailPassword" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

This is the ASPX page

<%@ Page Language="VB" Async="true" AutoEventWireup="false" CodeFile="TestHotmail.aspx.vb" Inherits="TestHotmail" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>
    <asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>

VB.NET

Imports System.Net.Mail
Partial Class TestHotmail
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        AddHandler Button1.Click, AddressOf Button1_Click
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim mailMessage As New System.Net.Mail.MailMessage

        mailMessage.To.Add(New MailAddress("toSomeone@gmail.com"))
        mailMessage.From = New MailAddress("fromMe@hotmail.com")

        mailMessage.Subject = "my test subject"
        mailMessage.Body = "my test body"
        mailMessage.IsBodyHtml = True

        Dim smtpClient As New SmtpClient()
        smtpClient.EnableSsl = True

        Dim userState As Object = mailMessage

        AddHandler smtpClient.SendCompleted, AddressOf smtpClient_OnCompleted
        smtpClient.SendAsync(mailMessage, userState)

    End Sub

    Public Sub smtpClient_OnCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
        Dim mailMessage As MailMessage

        mailMessage = CType(e.UserState, MailMessage)

        If (e.Cancelled) Then
            lblMessage.Text = "Sending of email message was cancelled. Address=" + mailMessage.To(0).Address
        End If
        If Not (e.Error Is Nothing) Then
            lblMessage.Text = "Error occured, info :" + e.Error.Message
        Else
            lblMessage.Text = "Mail sent successfully"
        End If
    End Sub

End Class

 

If you are using CSharp, this is the code behind

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;

public partial class TestHotmailCsharp : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click +=new EventHandler(Button1_Click);
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();

        mailMessage.To.Add(new MailAddress("toSomeone@gmail.com"));
        mailMessage.From = new MailAddress("fromMe@hotmail.com");

        mailMessage.Subject = "my test subject";
        mailMessage.Body = "my test body";
        mailMessage.IsBodyHtml = true;

        SmtpClient smtpClient = new SmtpClient();
        smtpClient.EnableSsl = true;

        object userState = mailMessage;

        smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
        smtpClient.SendAsync(mailMessage, userState);
    }

    void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
        MailMessage mailMessage = default(MailMessage);

        mailMessage = (MailMessage)e.UserState;

        if ((e.Cancelled))
        {
            lblMessage.Text = "Sending of email message was cancelled. Address=" + mailMessage.To[0].Address;
        }
        if ((e.Error != null))
        {
            lblMessage.Text = "Error occured, info :" + e.Error.Message;
        }
        else
        {
            lblMessage.Text = "Mail sent successfully";
        }
    }
}

 

References:
Send Email Asynchronously with ASP.NET
Incoming and Outgoing Mail Server Settings for Hotmail, Yahoo! Mail, GMail, MSN, AOL and more

Comments

11/1/2009 9:35:58 PM #

trackback

ASP.NET Sending email through Hotmail

You've been kicked (a good thing) - Trackback from DotNetKicks.com

DotNetKicks.com

12/13/2009 5:18:21 PM #

miracle cabbage soup diet

Thanks for such a nice post.



Regards
Iron

miracle cabbage soup diet United States

12/27/2009 9:59:07 AM #

Niche Blueprint 2.0 Review

I love reading your posts. I wish you a Happy New Year!

Niche Blueprint 2.0 Review United States

12/29/2009 8:50:05 PM #

Astaga.com lifestyle on the net

WOW ... I learn lots of new stuff here ! regard !!

Astaga.com lifestyle on the net United States

1/21/2010 10:14:29 AM #

Best Car Rental

Thanks for such a nice post. I learnt a lot !

Best Car Rental United States

1/22/2010 2:50:48 AM #

Top Destinations

still works great

Top Destinations United States

1/24/2010 3:30:05 PM #

Lisa Lunndra

I am surprised at the things I overlooked before I read this post. Thanks for the great information.

Lisa Lunndra United States

1/30/2010 3:26:39 PM #

chicago furniture stores

it is so happy can visit the blog Smile

chicago furniture stores Indonesia

2/1/2010 12:59:59 AM #

bambang tri

Aaaargh, I wish I read this article sooner.
Nice share, thanks.

bambang tri Indonesia

2/7/2010 4:24:02 AM #

business opportunities from home

Insightful piece, thanks a lot!

business opportunities from home United States

2/9/2010 7:05:36 AM #

diets that work

Thanks for putting this together - this is a great article for those of us with our heads buried in the keyboard all day.

diets that work United States

2/10/2010 7:20:50 AM #

jillian

Thanks very much for the information. I have been searching for this for awhile with Google and it has been a real chore.

jillian United States

2/16/2010 1:18:39 PM #

35mm slide scanners

THX FOR THE CODE!

I always wonderd how i could send mails trough hotmail.

Greetz

Nick

35mm slide scanners Belgium

3/1/2010 5:08:21 PM #

Tech Blog

Thanks. This makes my life a lot easier.

Tech Blog United States

Add comment


(Will show your Gravatar icon)

  Country flag

Click to change captcha
biuquote
  • Comment
  • Preview
Loading