Beispiel #1
0
        /// <summary>
        /// 메일을 비동기적으로 전송하는 Task{bool}을 빌드합니다.
        /// </summary>
        /// <param name="client">smtp client</param>
        /// <param name="token">작업 취소용 Token</param>
        /// <param name="message">mail message</param>
        /// <param name="userToken"></param>
        /// <returns>비동기 작업을 수행하는 Task{bool}</returns>
        public static Task<bool> SendTask(this SmtpClient client, CancellationToken token, MailMessage message, object userToken = null) {
            message.ShouldNotBeNull("message");

            if(IsDebugEnabled)
                log.Debug("비동기 방식으로 메일을 발송합니다... from=[{0}], recipients=[{1}], subject=[{2}], body=[{3}]",
                          message.From, message.To.CollectionToString(), message.Subject, message.Body.EllipsisChar(80));

            return SendTaskInternal(client, token, userToken, tcs => client.SendAsync(message, tcs));
        }
Beispiel #2
0
        /// <summary>
        /// Mail 보내기
        /// </summary>
        /// <param name="host">SMTP Host address.</param>
        /// <param name="port">SMTP port</param>
        /// <param name="message">mail message</param>
        public static void SendMessage(string host, int port, MailMessage message) {
            host.ShouldNotBeWhiteSpace("host");
            message.ShouldNotBeNull("message");

            if(IsDebugEnabled)
                log.Debug("email을 전송합니다... host=[{0}], port=[{1}], message.Subject=[{2}]", host, port, message.Subject);

            var mailClient = new SmtpClient(host, port);
            mailClient.Send(message);
        }