leventkalayz
leventkalayz

Reputation: 222

How to add smtp hotmail account to send mail

I wrote some codes so as to send e mail but I can only send mail from gmail account to gmail account also, I want to use hotmail accounts how can i do it? thanks It is

SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Test Mail - 1";
mail.IsBodyHtml = true;
string htmlBody;
htmlBody = "Write some HTML code here";
mail.Body = htmlBody;
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);

Upvotes: 8

Views: 52203

Answers (2)

Kaveh Naseri
Kaveh Naseri

Reputation: 1266

I use different smtp client and make sure to set the socket options to StartTls :

 using (SmtpClient client = new())
  {
     try 
     {
           await client.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls);
                        client.AuthenticationMechanisms.Remove("XOAUTH2");
                        
           await client.AuthenticateAsync("Your_User_Name", "Your_Password");

           await client.SendAsync(mailMessage);
        }
        catch
        {
           //log an error message or throw an exception, or both.
           throw;
       }
       finally
       {
            await client.DisconnectAsync(true);
            client.Dispose();
       }
 }

Upvotes: 4

zhengchun
zhengchun

Reputation: 1291

I changed a little of code and it tested successfully (from Hotmail to Gmail)

SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
var mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Test Mail - 1";
mail.IsBodyHtml = true;
string htmlBody;
htmlBody = "Write some HTML code here";
mail.Body = htmlBody;
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "password");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);

Upvotes: 32

Related Questions