다음을 통해 공유


SmtpClient.Send 메서드

정의

배달을 위해 SMTP 서버로 전자 메일 메시지를 보냅니다. 이러한 메서드는 메시지가 전송되는 동안 차단됩니다.

오버로드

Name Description
Send(MailMessage)

배달을 위해 지정된 메시지를 SMTP 서버로 보냅니다.

Send(String, String, String, String)

배달을 위해 지정된 전자 메일 메시지를 SMTP 서버로 보냅니다. 메시지 보낸 사람, 받는 사람, 제목 및 메시지 본문은 개체를 사용하여 String 지정됩니다.

Send(MailMessage)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

배달을 위해 지정된 메시지를 SMTP 서버로 보냅니다.

public:
 void Send(System::Net::Mail::MailMessage ^ message);
public void Send(System.Net.Mail.MailMessage message);
member this.Send : System.Net.Mail.MailMessage -> unit
Public Sub Send (message As MailMessage)

매개 변수

message
MailMessage

MailMessage 보낼 메시지가 들어 있는 A입니다.

예외

messagenull입니다.

SmtpClient 작업에는 이미 진행 중인 다른 보내기 작업이 있습니다.

-또는-

Fromnull입니다.

-또는-

CCBcc 속성에 To지정된 받는 사람이 없습니다.

-또는-

DeliveryMethod속성이 설정 Network 되고 Hostnull

-또는-

DeliveryMethod 속성이 설정 Network 되고 빈 문자열("")과 Host 같습니다.

-또는-

DeliveryMethod 속성이 0, 음수 또는 65,535보다 큰 값 NetworkPort 으로 설정됩니다.

이 개체가 삭제되었습니다.

SMTP 서버에 대한 연결이 실패했습니다.

-또는-

인증에 실패했습니다.

-또는-

작업 시간이 초과되었습니다.

-또는-

EnableSsl가 설정 true 되었지만 속성이 DeliveryMethod 설정되거나 PickupDirectoryFromIis.로 SpecifiedPickupDirectory 설정됩니다.

-또는-

EnableSsl 가 설정 true, 되었지만 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않았습니다.

받는 message 사람 중 하나에 배달할 수 없습니다.ToCCBcc

또는 message 두 명 이상의 받는 사람에게 ToCCBcc배달할 수 없습니다.

예제

다음 코드 예제에서는 이 메서드를 사용하는 방법을 보여 줍니다.

public static void CreateTestMessage2(string server)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    MailMessage message = new MailMessage(from, to);
    message.Subject = "Using the new SMTP client.";
    message.Body = @"Using this new feature, you can send an email message from an application very easily.";
    SmtpClient client = new SmtpClient(server);
    // Credentials are necessary if the server requires the client
    // to authenticate before it will send email on the client's behalf.
    client.UseDefaultCredentials = true;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
            ex.ToString());
    }
}

설명

이 메서드는 전자 메일이 전송되는 동안 차단됩니다. 지정된 시간이 경과한 후 메서드가 반환되도록 속성을 사용하여 Timeout 제한 시간 값을 지정할 수 있습니다.

이 메서드를 HostPort 호출하기 전에 관련 속성을 설정하거나 이 정보를 SmtpClient(String, Int32) 생성자에 전달하여 구성 파일을 통해 속성을 설정해야 합니다.

비동기적으로 전송되는 메시지가 있는 경우 이 메서드를 호출할 수 없습니다.

SMTP 호스트에 자격 증명이 필요한 경우 이 메서드를 호출하기 전에 설정해야 합니다. 자격 증명을 UseDefaultCredentials 지정하려면 해당 또는 Credentials 속성을 사용합니다.

예외가 SmtpException 발생하면 속성을 확인 StatusCode 하여 작업이 실패한 이유를 찾습니다. 작업에 SmtpException 실패한 이유를 나타내는 내부 예외도 포함될 수 있습니다.

여러 받는 사람에게 전자 메일을 Send 보낼 때 SMTP 서버는 일부 받는 사람을 유효한 것으로 수락하고 다른 Send 받는 사람을 거부하고 수락된 받는 사람에게 전자 메일을 보낸 다음 SmtpFailedRecipientsException throw됩니다(또는 SmtpFailedRecipientException 받는 사람 한 명만 거부된 경우). A SmtpFailedRecipientsException 에는 거부된 받는 사람 목록이 포함됩니다.

메모

속성이 EnableSsl 설정true되고 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않는 경우 또는 SendAsync 메서드에 Send 대한 호출이 throwSmtpException됩니다.

적용 대상

Send(String, String, String, String)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

배달을 위해 지정된 전자 메일 메시지를 SMTP 서버로 보냅니다. 메시지 보낸 사람, 받는 사람, 제목 및 메시지 본문은 개체를 사용하여 String 지정됩니다.

public:
 void Send(System::String ^ from, System::String ^ recipients, System::String ^ subject, System::String ^ body);
public void Send(string from, string recipients, string? subject, string? body);
public void Send(string from, string recipients, string subject, string body);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)

매개 변수

from
String

메시지 보낸 사람의 주소 정보를 포함하는 A String 입니다.

recipients
String

String 메시지가 전송되는 주소가 들어 있는 A입니다.

subject
String

String 메시지의 제목 줄이 들어 있는 A입니다.

body
String

메시지 본문을 포함하는 A String 입니다.

예외

fromnull입니다.

-또는-

recipientsnull입니다.

fromEmpty입니다.

-또는-

recipientsEmpty입니다.

SmtpClient 작업에는 이미 진행 중인 다른 보내기 작업이 있습니다.

-또는-

DeliveryMethod속성이 설정 Network 되고 Hostnull

-또는-

DeliveryMethod 속성이 설정 Network 되고 빈 문자열("")과 Host 같습니다.

-또는-

DeliveryMethod 속성이 0, 음수 또는 65,535보다 큰 값 NetworkPort 으로 설정됩니다.

이 개체가 삭제되었습니다.

SMTP 서버에 대한 연결이 실패했습니다.

-또는-

인증에 실패했습니다.

-또는-

작업 시간이 초과되었습니다.

-또는-

EnableSsl가 설정 true 되었지만 속성이 DeliveryMethod 설정되거나 PickupDirectoryFromIis.로 SpecifiedPickupDirectory 설정됩니다.

-또는-

EnableSsl 가 설정 true, 되었지만 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않았습니다.

받는 사람 중 한 명에게 메시지를 배달할 수 없습니다.ToCCBcc

또는 두 명 이상의 받는 사람에게 ToCCBcc메시지를 배달할 수 없습니다.

설명

이 메서드는 전자 메일이 전송되는 동안 차단됩니다. 지정된 시간이 경과한 후 메서드가 반환되도록 속성을 사용하여 Timeout 제한 시간 값을 지정할 수 있습니다.

이 메서드를 HostPort 호출하기 전에 관련 속성을 설정하거나 이 정보를 SmtpClient(String, Int32) 생성자에 전달하여 구성 파일을 통해 속성을 설정해야 합니다.

비동기적으로 전송되는 메시지가 있는 경우 이 메서드를 호출할 수 없습니다.

SMTP 호스트에 자격 증명이 필요한 경우 이 메서드를 호출하기 전에 설정해야 합니다. 자격 증명을 UseDefaultCredentials 지정하려면 해당 또는 Credentials 속성을 사용합니다.

예외가 SmtpException 발생하면 속성을 확인 StatusCode 하여 작업이 실패한 이유를 찾습니다. 작업에 SmtpException 실패한 이유를 나타내는 내부 예외도 포함될 수 있습니다.

여러 받는 사람에게 전자 메일을 Send 보낼 때 SMTP 서버는 일부 받는 사람을 유효한 것으로 수락하고 다른 Send 받는 사람을 거부하고 수락된 받는 사람에게 전자 메일을 보낸 다음 SmtpFailedRecipientsException throw됩니다(또는 SmtpFailedRecipientException 받는 사람 한 명만 거부된 경우). A SmtpFailedRecipientsException 에는 거부된 받는 사람 목록이 포함됩니다.

메모

속성이 EnableSsl 설정true되고 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않는 경우 또는 SendAsync 메서드에 Send 대한 호출이 throwSmtpException됩니다.

적용 대상