Here is a sample method that I use with my gmail account. The port is
different, but it should work for you with the correct port:
using System;
using System.Collections.Generic;
using System.Text;
namespace PAB.Utils
{
public static class Sender
{
public static void SendGmail(string userName, string password,
string mailFrom,
string mailTo,string subject, string
message,bool isBodyHtml)
{
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage(mailFrom,mailTo,
subject, message);
msg.IsBodyHtml = isBodyHtml;
System.Net.NetworkCredential cred = new
System.Net.NetworkCredential(userName, password);
System.Net.Mail.SmtpClient mailClient = new
System.Net.Mail.SmtpClient("smtp.gmail.com",587);
mailClient.EnableSsl = true;
mailClient.UseDefaultCredentials = false;
mailClient.Credentials = cred;
mailClient.Send(msg);
}
}
}
--
--Peter
"Inside every large program, there is a small program trying to get out."
http://www.eggheadcafe.com
http://petesbloggerama.blogspot.com
http://www.blogmetafinder.com
"Eugene Vital" wrote:
> Hi all
> I am having trouble with sending email via a C#2.0 application, I use
> the same settings as I use in Outlook but I cannot get email to send.
>
> I am trying to use SSL on port 465 and get the error below, If I disable
> SSL and use port 587 all goes well.
>
>
> I have been Googling for 2 days without success and this seems to be a
> common problem.
>
>
> Any help is appreciated.
>
> Thanks.
>
>
> Here is the code I am using.
>
>
> MailMessage message = new MailMessage();
> message.From = new MailAddress("(E-Mail Removed)");
> message.Sender = new MailAddress("(E-Mail Removed)");
> message.To.Add(new MailAddress("(E-Mail Removed)"));
> message.Subject = "This is my subject";
> message.Body = "This is the content";
>
> SmtpClient smtpClient = new SmtpClient("smtp.bizmail.yahoo.com", 465);
> System.Net.NetworkCredential mc = new
> System.Net.NetworkCredential("(E-Mail Removed)", "mypassword");
>
> smtpClient.UseDefaultCredentials = false;
> smtpClient.Credentials = mc ;
> smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network ;
> smtpClient.EnableSsl = true;
>
> try{
> smtpClient.Send(message);
>
> }
> catch(Exception e) {
> System.Console.WriteLine(e.InnerException.ToString());
> }
>
> smtpClient = null;
>
> Console.Write("Press any key to continue . . . ");
> Console.ReadKey(true);
>
>
>
> The error I get is this:
>
> Unable to read data from the transport connection: An existing
> connection was forcibly closed by the remote host.
>
> at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32
> offset, Int32 size)
> at System.Net.DelegatedStream.Read(Byte[] buffer, Int32 offset,
> Int32 count)
> at System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset,
> Int32 count)
> at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader
> caller, Boolean oneLine)
> at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader
> caller)
> at System.Net.Mail.SmtpReplyReader.ReadLine()
> at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
> at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
> at System.Net.Mail.SmtpClient.GetConnection()
> at System.Net.Mail.SmtpClient.Send(MailMessage message)
>