Gmail을 통해 .NET에서 이메일 보내기


876

호스트에게 이메일을 보내지 않고 Gmail 계정을 사용하여 이메일 메시지를 보내려고했습니다 . 이메일은 제가 쇼에서 연주하는 밴드에 대한 개인화 된 이메일입니다.

그것을 할 수 있습니까?


1
< systemnetmail.com >은 아마도 단일 .NET 네임 스페이스 전용의 가장 터무니없는 사이트 일 것입니다 . 그러나 ASP.NET 또는 데스크톱 등 .NET을 통해 메일을 보내는 것에 대해 알고 싶은 모든 것이 있습니다. < systemwebmail.com >은 게시물의 원래 URL이지만 .NET 2.0 이상에는 사용하지 않아야합니다.
Adam Haile

13
ASP.Net Mvc를 사용하는 경우 MvcMailer를 살펴 보는 것이 좋습니다. github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
noocyte

내 사이트 jarloo.com/gmail-in-c
Kelly

이 코드를 사용하여 파일을 보내는 방법은 무엇입니까?
Ranadheer Reddy

답변:


1065

반드시 사용할 수 System.Net.Mail, 사용되지 않는 없습니다 System.Web.Mail. SSL을 사용하는 System.Web.Mail것은 해키 확장의 심각한 혼란입니다.

using System.Net;
using System.Net.Mail;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

49
Google에서 갑자기 지난 xx 분 동안 너무 많은 메일을 보낸 것으로 판단한 경우에도 사용자가 로그인하지 않은 오류가 발생할 수 있습니다. 잠시 동안 오류가 발생하면 trySend를 추가 한 다음 다시 시도해야합니다.
Jason Short

72
재미있는 메모 : 'UseDefaultCredentials = false'와 'Credentials = ...'를 바꾸면 인증되지 않습니다.
Nathan Wheeler

13
이 방법을 사용하는 SPF에는 문제가 없습니다. 모든 이메일 클라이언트는 정확하게이 작업을 수행하도록 구성 할 수 있습니다. 자신의 서버 (예 : 이외의 서버 smtp.gmail.com)를 something@gmail.com발신자로 사용하면 문제가 발생할 수 있습니다 . Btw : smtp.gmail.com발신자가 아닌 경우 발신자 주소를 자동으로 덮어 씁니다.
Meinersbur

24
다양한 조정을 시도해 도이 작업을 수행하는 데 어려움을 겪고있었습니다. 관련 게시물에서 제안한 것처럼 전자 메일이 성공적으로 전송되지 못하게하는 것이 실제로 내 바이러스 백신이라는 것을 알았습니다. 해당 바이러스 백신은 McAffee이며 "액세스 보호"에는 "메일 발송 웜 대량 전송 웜 방지"규칙이있는 "바이러스 백신 표준 보호"범주가 있습니다. 그 규칙을 조정 / 비활성화하면이 코드가 나를 위해 작동했습니다!
yourbuddypal

18
2 단계 인증이 설정된 계정 (개인 계정)으로 테스트하고 있음을 알 때까지 5.5.1 인증 필요 오류 메시지가 표시되었습니다. 계정이없는 계정을 사용하면 정상적으로 작동합니다. 개인 계정에서 테스트중인 응용 프로그램의 암호를 생성 할 수도 있었지만 그렇게하고 싶지 않았습니다.
Nick DeVore

153

위의 답변이 작동하지 않습니다. DeliveryMethod = SmtpDeliveryMethod.Network" 클라이언트가 인증되지 않았습니다 "오류 와 함께 설정해야합니다 . 또한 시간 초과를 설정하는 것이 좋습니다.

수정 된 코드 :

using System.Net.Mail;
using System.Net;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
    Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

3
흥미있는; 내 컴퓨터 (TM)에서 작동합니다. 그러나 이것이 그럴듯 해 보이기 때문에 대답에 추가하겠습니다.
Domenic

3
흠 내 생각 엔 SmtpDeliveryMethod.Network가 기본값이지만 IIS에서 실행할 때 기본값이 변경 될 수 있습니다.
Domenic

3
콘솔 응용 프로그램에서 동일한 코드를 사용하고 있는데 "메일 전송 실패"오류
Karthikeyan P

5
이 답변은 효과가 없습니다. 질문 stackoverflow.com/questions/34851484/…를보십시오.

110

다른 답변이 "서버에서"작동하려면 먼저 Gmail 계정의 보안 수준이 낮은 앱대한 액세스를 설정 하십시오.

최근 Google이 보안 정책을 변경 한 것 같습니다. https://support.google.com/accounts/answer/6010255?hl=ko-GB에 설명 된대로 계정 설정을 변경하기 전까지는 최고 등급의 답변이 더 이상 작동하지 않습니다.여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

2016 년 3 월부터 Google은 설정 위치를 다시 변경했습니다!


4
이것은 나를 위해 일했습니다. 그리고 또한 관련이 있습니다. 그 보안을 끄고 싶지 않습니다. 다시 생각해야 할 수도 있습니다.
Sully

4
보안 관점에서 2 단계 인증을 켜고 앱 암호를 생성하여 사용 하는 것이
Michael Freidgeim 2016 년

2
@BCS Software, inmy program, 사용자는 내 프로그램이 메시지를 보내는 데 사용하는 모든 이메일을 삽입합니다. 따라서 2 단계 인증이 켜져 있어도 이메일 사용자가 이메일을 보낼 수있게하려면 어떻게해야합니까?
Alaa '

Microsoft Gmail 클라이언트 (데스크톱, 휴대폰 등)를 사용하여 Google Gmail을 통해 이메일을주고 받으려면이 설정을 변경해야합니다.
Brett Rigby

41

첨부 파일과 함께 이메일을 보내는 것입니다.

출처 : http://coding-issues.blogspot.in/2012/11/sending-email-with-attachments-from-c.html

using System.Net;
using System.Net.Mail;

public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/textfile.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);

}

21

Google은 최신 보안 표준을 사용하지 않는 일부 앱 또는 기기의 로그인 시도를 차단할 수 있습니다. 이러한 앱과 기기는 쉽게 침입 할 수 있으므로 차단하면 계정을보다 안전하게 유지할 수 있습니다.

최신 보안 표준을 지원하지 않는 앱의 일부 예는 다음과 같습니다.

  • iOS 6 이하가 설치된 iPhone 또는 iPad의 Mail 앱
  • 8.1 릴리스 이전의 Windows 폰의 메일 앱
  • Microsoft Outlook 및 Mozilla Thunderbird와 같은 일부 데스크탑 메일 클라이언트

따라서 Google 계정에서 덜 안전한 로그인 을 사용하도록 설정 해야합니다.

Google 계정에 로그인 한 후 다음으로 이동하십시오.

https://myaccount.google.com/lesssecureapps
또는
https://www.google.com/settings/security/lesssecureapps

C #에서는 다음 코드를 사용할 수 있습니다.

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress("email@gmail.com");
    mail.To.Add("somebody@domain.com");
    mail.Subject = "Hello World";
    mail.Body = "<h1>Hello</h1>";
    mail.IsBodyHtml = true;
    mail.Attachments.Add(new Attachment("C:\\file.zip"));

    using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
    {
        smtp.Credentials = new NetworkCredential("email@gmail.com", "password");
        smtp.EnableSsl = true;
        smtp.Send(mail);
    }
}


16

내 버전은 다음과 같습니다. " C #에서 Gmail로 이메일 보내기 ".

using System;
using System.Net;
using System.Net.Mail;

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials    = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }

     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
    }
   }
 }

8
당신의 기사가 사실 질문에 대답 수 있지만, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다. 스택 오버플로는 질문과 답변만큼 유용하며 블로그 호스트가 다운되거나 URL이 이동하면이 답변이 쓸모 없게됩니다. 감사!
sarnold

14

이 코드가 제대로 작동하기를 바랍니다. 시도해 볼 수 있습니다.

// Include this.                
using System.Net.Mail;

string fromAddress = "xyz@gmail.com";
string mailPassword = "*****";       // Mail id password from where mail will be sent.
string messageBody = "Write the body of the message here.";


// Create smtp connection.
SmtpClient client = new SmtpClient();
client.Port = 587;//outgoing port for the mail.
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(fromAddress, mailPassword);


// Fill the mail form.
var send_mail = new MailMessage();

send_mail.IsBodyHtml = true;
//address from where mail will be sent.
send_mail.From = new MailAddress("from@gmail.com");
//address to which mail will be sent.           
send_mail.To.Add(new MailAddress("to@example.com");
//subject of the mail.
send_mail.Subject = "put any subject here";

send_mail.Body = messageBody;
client.Send(send_mail);

2
메시지 send_mail = 새로운 MailMessage (); 이 라인은 어떻게 작동한다고 가정합니까? 'System.Net.Mail.MailMessage'를 'System.Windows.Forms.Message'로 암시 적으로 변환 할 수 없습니다.
Debaprasad

9

이것을 포함하십시오

using System.Net.Mail;

그리고,

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt16("587");
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","password");
client.EnableSsl = true;

client.Send(sendmsg);

8

출처 : ASP.NET C #으로 이메일 보내기

아래는 C #을 사용하여 메일을 보내는 샘플 작업 코드입니다. 아래 예에서는 Google의 smtp 서버를 사용하고 있습니다.

코드는 설명이 필요 없으며 이메일과 비밀번호를 이메일과 비밀번호 값으로 바꿉니다.

public void SendEmail(string address, string subject, string message)
{
    string email = "yrshaikh.mail@gmail.com";
    string password = "put-your-GMAIL-password-here";

    var loginInfo = new NetworkCredential(email, password);
    var msg = new MailMessage();
    var smtpClient = new SmtpClient("smtp.gmail.com", 587);

    msg.From = new MailAddress(email);
    msg.To.Add(new MailAddress(address));
    msg.Subject = subject;
    msg.Body = message;
    msg.IsBodyHtml = true;

    smtpClient.EnableSsl = true;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = loginInfo;
    smtpClient.Send(msg);
}

var 대신 NetworkCredential, MailMessage 및 SmtpClient와 같은 클래스 이름을 사용했습니다.
Jui Test

7

배경 이메일을 보내려면 다음을 수행하십시오.

 public void SendEmail(string address, string subject, string message)
 {
 Thread threadSendMails;
 threadSendMails = new Thread(delegate()
    {

      //Place your Code here 

     });
  threadSendMails.IsBackground = true;
  threadSendMails.Start();
}

네임 스페이스 추가

using System.Threading;


5

이 시도,

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("your_email_address@gmail.com");
            mail.To.Add("to_address");
            mail.Subject = "Test Mail";
            mail.Body = "This is for testing SMTP mail from GMAIL";

            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);
            MessageBox.Show("mail Send");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

4

이 방법으로 사용하십시오

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt32("587");
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","MyPassWord");
client.Send(sendmsg);

이것을 잊지 마십시오 :

using System.Net;
using System.Net.Mail;

4

Gmail의 보안 문제를 피하려면 먼저 Gmail 설정에서 앱 비밀번호를 생성해야하며 2 단계 인증을 사용하더라도 실제 비밀번호 대신이 비밀번호를 사용하여 이메일을 보낼 수 있습니다.


3

Gmail / Outlook.com 이메일에서 발신자 변경 :

스푸핑을 방지하기 위해 Gmail / Outlook.com에서 임의의 사용자 계정 이름을 보내도록 허용하지 않습니다.

발신자 수가 제한되어있는 경우 다음 지침에 따라 From필드를이 주소 로 설정할 수 있습니다 . 다른 주소에서 메일 보내기

당신이 할 수있는 최선의 방법에 대한 임의의 이메일 주소 (예 : 사용자가 이메일을 입력하고 직접 이메일을 보내지 않으려는 웹 사이트의 피드백 양식)에서 보내려면 :

        msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));

피드백 페이지에서 밴드의 팬에게 답장을 보내려면 이메일 계정에서 '답장'을 누르십시오. 그러나 실제 이메일을받지 못해 스팸이 발생할 수 있습니다.

제어 된 환경에있는 경우이 기능이 훌륭하지만 일부 이메일 클라이언트는 답장을 지정할 때도 보낸 사람 주소로 보내는 것을 보았습니다 (어떤 것을 모르겠습니다).


3

같은 문제가 있었지만 Gmail의 보안 설정으로 이동하여 덜 안전한 앱 허용 으로 해결했습니다. . Domenic & Donny의 코드가 작동하지만 해당 설정을 활성화 한 경우에만

(Google에 로그인 한 경우) 링크로 이동 하여 " 보안 수준이 낮은 앱에 액세스 "" 켜기" 로 전환 할 수 있습니다


3
using System;
using System.Net;
using System.Net.Mail;

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }
     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
}
}
}

2

다음은 web.config에서 메일을 보내고 자격 증명을 얻는 방법 중 하나입니다.

public static string SendEmail(string To, string Subject, string Msg, bool bodyHtml = false, bool test = false, Stream AttachmentStream = null, string AttachmentType = null, string AttachmentFileName = null)
{
    try
    {
        System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
        newMsg.BodyEncoding = System.Text.Encoding.UTF8;
        newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
        newMsg.SubjectEncoding = System.Text.Encoding.UTF8;

        System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
        if (AttachmentStream != null && AttachmentType != null && AttachmentFileName != null)
        {
            System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentStream, AttachmentFileName);
            System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
            disposition.FileName = AttachmentFileName;
            disposition.DispositionType = System.Net.Mime.DispositionTypeNames.Attachment;

            newMsg.Attachments.Add(attachment);
        }
        if (test)
        {
            smtpClient.PickupDirectoryLocation = "C:\\TestEmail";
            smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;
        }
        else
        {
            //smtpClient.EnableSsl = true;
        }

        newMsg.IsBodyHtml = bodyHtml;
        smtpClient.Send(newMsg);
        return SENT_OK;
    }
    catch (Exception ex)
    {

        return "Error: " + ex.Message
             + "<br/><br/>Inner Exception: "
             + ex.InnerException;
    }

}

그리고 web.config의 해당 섹션 :

<appSettings>
    <add key="mailCfg" value="yourmail@example.com"/>
</appSettings>
<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" from="yourmail@example.com">
      <network defaultCredentials="false" host="mail.exapmple.com" userName="yourmail@example.com" password="your_password" port="25"/>
    </smtp>
  </mailSettings>
</system.net>

2

이거 한번 해봐

public static bool Send(string receiverEmail, string ReceiverName, string subject, string body)
{
        MailMessage mailMessage = new MailMessage();
        MailAddress mailAddress = new MailAddress("abc@gmail.com", "Sender Name"); // abc@gmail.com = input Sender Email Address 
        mailMessage.From = mailAddress;
        mailAddress = new MailAddress(receiverEmail, ReceiverName);
        mailMessage.To.Add(mailAddress);
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.IsBodyHtml = true;

        SmtpClient mailSender = new SmtpClient("smtp.gmail.com", 587)
        {
            EnableSsl = true,
            UseDefaultCredentials = false,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential("abc@gmail.com", "pass")   // abc@gmail.com = input sender email address  
                                                                           //pass = sender email password
        };

        try
        {
            mailSender.Send(mailMessage);
            return true;
        }
        catch (SmtpFailedRecipientException ex)
        { 
          // Write the exception to a Log file.
        }
        catch (SmtpException ex)
        { 
           // Write the exception to a Log file.
        }
        finally
        {
            mailSender = null;
            mailMessage.Dispose();
        }
        return false;
}

1

문제는 암호에 블랙 슬래시 "\" 가있어 문제를 일으킬 수 있다는 사실을 모르고 붙여 넣은 것입니다.


1

다른 답변 에서 복사 하면 위의 방법이 작동하지만 gmail은 항상 "보낸 사람"및 "답장"이메일을 실제 보내는 Gmail 계정으로 바꿉니다. 그러나 분명히 해결 방법이 있습니다.

http://karmic-development.blogspot.in/2013/10/send-email-from-aspnet-using-gmail-as.html

"3. 계정 탭에서"다른 이메일 주소 추가 "링크를 클릭 한 후 확인하십시오.

또는 가능성

업데이트 3 : 독자 Derek Bennett는 다음과 같이 말합니다. "솔루션은 Gmail 설정 : 계정으로 이동하여 Gmail 계정 이외의 계정을"기본으로 설정 "하는 것입니다. 이로 인해 기본 계정의 이메일로 보낸 사람 필드가 다시 작성됩니다. 주소입니다. "


1

시도해 볼 수 있습니다 Mailkit. 메일 발송을위한보다 나은 고급 기능을 제공합니다. 당신은 더 찾을 수 있습니다 ,이 다음은 예입니다

    MimeMessage message = new MimeMessage();
    message.From.Add(new MailboxAddress("FromName", "YOU_FROM_ADDRESS@gmail.com"));
    message.To.Add(new MailboxAddress("ToName", "YOU_TO_ADDRESS@gmail.com"));
    message.Subject = "MyEmailSubject";

    message.Body = new TextPart("plain")
    {
        Text = @"MyEmailBodyOnlyTextPart"
    };

    using (var client = new SmtpClient())
    {
        client.Connect("SERVER", 25); // 25 is port you can change accordingly

        // Note: since we don't have an OAuth2 token, disable
        // the XOAUTH2 authentication mechanism.
        client.AuthenticationMechanisms.Remove("XOAUTH2");

        // Note: only needed if the SMTP server requires authentication
        client.Authenticate("YOUR_USER_NAME", "YOUR_PASSWORD");

        client.Send(message);
        client.Disconnect(true);
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.