title: Sending a gmail email
body: <p>I am trying to send an email through and C# application (Console). Actually I would like it to send an email to any type of email but for the time being if I can get it to send to a gmail account I would be happy enough.</p>
  
  <p>I just want to be able to get this to send to a gmail account for the time being?</p>
  
  <p>Whole Program:</p>
  
  <pre><code>namespace EmailAddress
  {
      class Program
      {
          static void Main(string[] args)
          {
              Program test = new Program();
              test.email_send();
          }
  
          public void email_send()
          {
              MailMessage mail = new MailMessage();
              SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
              mail.From = new MailAddress("hg@gmail.com");
              mail.To.Add("hg@gmail.com");
              mail.Subject = "Test Mail - 1";
              mail.Body = "Your attachment is accessible on your computer!";
  
              System.Net.Mail.Attachment attachment;
              attachment = new System.Net.Mail.Attachment("g:/example1.txt");
              mail.Attachments.Add(attachment);
  
              SmtpServer.Port = 587;
              SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
              SmtpServer.EnableSsl = true;
  
              SmtpServer.Send(mail);
          }
      }
  }
  </code></pre>
  
  <p>New code: Doesn't hang but will not send the message to the inbox</p>
  
  <pre><code>static void Main(string[] args)
          {
              Program test = new Program();
              //test.email_send();
              test.CreateTestMessage4();
          }
  
          public void email_send()
          {
              MailMessage mail = new MailMessage();
              SmtpClient smtp = new SmtpClient("smtp.gmail.com");
              mail.From = new MailAddress("g@gmail.com");
              mail.To.Add("g@gmail.com");
              mail.Subject = "Test Mail - 1";
              mail.Body = "Your attachment is accessible on your computer!";
  
              System.Net.Mail.Attachment attachment;
  
              attachment = new System.Net.Mail.Attachment("g:\\example1.txt");
              mail.Attachments.Add(attachment);//list of attachements
  
              smtp.Port = 587;//google standard -- most of the time wouldn't not set
              smtp.EnableSsl = true;
              smtp.UseDefaultCredentials = true;
              smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
              smtp.Credentials = new System.Net.NetworkCredential("*","*");
  
              smtp.Send(mail);
  
              Console.WriteLine("-- Sending Email --");
              Console.ReadLine();
          }
  </code></pre>
  
  <p>Can someone try this code and see if it works. For some reason this isn't working so I would like to have someone's fresh perspective of this. I just call this in the main method for an instance of the class.</p>
  
  <pre><code> public void email_send()
          {
              MailMessage mail = new MailMessage();
              SmtpClient smtp = new SmtpClient("smtp.gmail.com");
              mail.From = new MailAddress("your email address");
              mail.To.Add("your email address");
              mail.Subject = "Test Mail - 1";
              mail.Body = "Your attachment is accessible on your computer!";
  
              System.Net.Mail.Attachment attachment;
  
              attachment = new System.Net.Mail.Attachment("g:\\example1.txt");
              mail.Attachments.Add(attachment);//list of attachements
  
              //smtp.Port = 587;//google standard -- most of the time wouldn't not set
              //smtp.EnableSsl = true;
              //smtp.UseDefaultCredentials = true;
              //smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
              //smtp.Credentials = new System.Net.NetworkCredential("your address", 
                                                                   "your password");
  
              smtp.Port = 587;
              smtp.Host = "smtp.gmail.com";
              smtp.UseDefaultCredentials = false;
              smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
              smtp.EnableSsl = true;
              smtp.Credentials = new System.Net.NetworkCredential("*", "*"); smtp.Send(mail);
  
              Console.WriteLine("-- Sending Email --");
              Console.ReadLine();
          }
  </code></pre>