SmtpClient.Send 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
배달용 SMTP 서버로 이메일 메시지를 보냅니다. 이 메서드는 메시지를 전송하는 동안 차단됩니다.
오버로드
Send(MailMessage) |
배달용 SMTP 서버로 지정된 메시지를 보냅니다. |
Send(String, String, String, String) |
배달용 SMTP 서버로 지정된 이메일 메시지를 보냅니다. 메시지의 보낸 사람, 받는 사람, 제목 및 메시지 본문은 String 개체를 사용하여 지정됩니다. |
Send(MailMessage)
- 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입니다.
예외
message
이(가) null
인 경우
이미 SmtpClient 진행 중인 다른 보내기 작업이 있습니다.
또는
From은 null
입니다.
또는
To, CC 및 Bcc 속성에 지정된 받는 사람이 없습니다.
또는
DeliveryMethod 속성은 Network로 설정되고 Host는 null
입니다.
또는
DeliveryMethod 속성이 Network로 설정되고 Host가 빈 문자열("")과 같습니다.
또는
DeliveryMethod 속성은 Network로 설정되고 Port는 0, 음수 또는 65,535보다 큽니다.
이 개체가 삭제되었습니다.
SMTP 서버에 연결하지 못했습니다.
또는
인증에 실패했습니다.
또는
작업 시간이 초과되었습니다.
또는
EnableSsl은 true
로 설정되지만 DeliveryMethod 속성은 SpecifiedPickupDirectory 또는 PickupDirectoryFromIis로 설정됩니다.
또는
EnableSsl은 true,
로 설정되지만 SMTP 메일 서버는 응답에서 STARTTLS를 EHLO 명령에 알리지 않았습니다.
예제
다음 코드 예제에서는이 메서드를 사용 하는 방법을 보여 줍니다.
static void CreateTestMessage2( String^ server )
{
String^ to = L"jane@contoso.com";
String^ from = L"ben@contoso.com";
MailMessage^ message = gcnew MailMessage( from,to );
message->Subject = L"Using the new SMTP client.";
message->Body = L"Using this new feature, you can send an email message from an application very easily.";
SmtpClient^ client = gcnew 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;
client->Send( message );
client->~SmtpClient();
}
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 제한 시간 값을 지정할 수 있습니다.
이 메서드를 Host 호출하기 전에 관련 속성을 설정하거나 이 정보를 SmtpClient(String, Int32) 생성자에 전달하여 구성 파일을 통해 및 Port 속성을 설정해야 합니다.
비동기적으로 전송되는 메시지가 있는 경우 이 메서드를 호출할 수 없습니다.
SMTP 호스트에 자격 증명이 필요한 경우 이 메서드를 호출하기 전에 설정해야 합니다. 자격 증명을 지정하려면 또는 Credentials 속성을 사용합니다UseDefaultCredentials.
예외가 SmtpException 표시되면 속성을 검사 StatusCode 작업이 실패한 이유를 찾습니다. 에는 SmtpException 작업이 실패한 이유를 나타내는 내부 예외도 포함될 수 있습니다.
를 사용하여 Send 여러 받는 사람에게 전자 메일을 보낼 때 SMTP 서버는 일부 받는 사람을 유효한 것으로 수락하고 다른 Send 받는 사람을 거부하고 수락된 받는 사람에게 전자 메일을 보낸 다음 SmtpFailedRecipientsException 가 throw됩니다(또는 SmtpFailedRecipientException 한 명의 받는 사람만 거부된 경우). SmtpFailedRecipientsException 에는 거부된 받는 사람 목록이 포함됩니다.
참고
속성이 EnableSsl 로 설정true
되고 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않는 경우 또는 SendAsync 메서드를 Send 호출하면 가 SmtpExceptionthrow됩니다.
적용 대상
Send(String, String, String, String)
- 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)
매개 변수
예외
이미 SmtpClient 진행 중인 다른 보내기 작업이 있습니다.
또는
DeliveryMethod 속성은 Network로 설정되고 Host는 null
입니다.
또는
DeliveryMethod 속성이 Network로 설정되고 Host가 빈 문자열("")과 같습니다.
또는
DeliveryMethod 속성은 Network로 설정되고 Port는 0, 음수 또는 65,535보다 큽니다.
이 개체가 삭제되었습니다.
SMTP 서버에 연결하지 못했습니다.
또는
인증에 실패했습니다.
또는
작업 시간이 초과되었습니다.
또는
EnableSsl은 true
로 설정되지만 DeliveryMethod 속성은 SpecifiedPickupDirectory 또는 PickupDirectoryFromIis로 설정됩니다.
또는
EnableSsl은 true,
로 설정되지만 SMTP 메일 서버는 응답에서 STARTTLS를 EHLO 명령에 알리지 않았습니다.
설명
이 메서드는 전자 메일이 전송되는 동안 차단됩니다. 지정된 시간이 경과한 후 메서드가 반환되도록 속성을 사용하여 Timeout 제한 시간 값을 지정할 수 있습니다.
이 메서드를 Host 호출하기 전에 관련 속성을 설정하거나 이 정보를 SmtpClient(String, Int32) 생성자에 전달하여 구성 파일을 통해 및 Port 속성을 설정해야 합니다.
비동기적으로 전송되는 메시지가 있는 경우 이 메서드를 호출할 수 없습니다.
SMTP 호스트에 자격 증명이 필요한 경우 이 메서드를 호출하기 전에 설정해야 합니다. 자격 증명을 지정하려면 또는 Credentials 속성을 사용합니다UseDefaultCredentials.
예외가 SmtpException 표시되면 속성을 검사 StatusCode 작업이 실패한 이유를 찾습니다. 에는 SmtpException 작업이 실패한 이유를 나타내는 내부 예외도 포함될 수 있습니다.
를 사용하여 Send 여러 받는 사람에게 전자 메일을 보낼 때 SMTP 서버는 일부 받는 사람을 유효한 것으로 수락하고 다른 Send 받는 사람을 거부하고 수락된 받는 사람에게 전자 메일을 보낸 다음 SmtpFailedRecipientsException 가 throw됩니다(또는 SmtpFailedRecipientException 한 명의 받는 사람만 거부된 경우). SmtpFailedRecipientsException 에는 거부된 받는 사람 목록이 포함됩니다.
참고
속성이 EnableSsl 로 설정true
되고 SMTP 메일 서버가 EHLO 명령에 대한 응답으로 STARTTLS를 보급하지 않는 경우 또는 SendAsync 메서드를 Send 호출하면 가 SmtpExceptionthrow됩니다.
적용 대상
.NET