2014-10-09 8 views
-1

Я хочу создать SMTP-сервер с auth в моей системе Windows. По причинам тестирования я не хочу загружать другой инструмент SMTP из Интернета, поэтому я пытаюсь отправить электронное письмо прямо в код (только для отладки). Мой код на данный момент:Исключение отправки почты через SmtpClient

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net; 
using System.Net.Mail; 

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

     SmtpClient smtpClient = new SmtpClient(); 
     NetworkCredential basicCredential = 
     new NetworkCredential("username", "password"); 
     MailMessage message = new MailMessage(); 
     MailAddress fromAddress = new MailAddress("[email protected]"); 

     smtpClient.Port = 26; 
     smtpClient.Host = "localhost"; 
     smtpClient.UseDefaultCredentials = false; 
     smtpClient.Credentials = basicCredential; 

     message.From = fromAddress; 
     message.Subject = "testmail"; 
     //Set IsBodyHtml to true means you can send HTML email. 
     message.IsBodyHtml = true; 
     message.Body = "testmail from sharp"; 
     message.To.Add(new MailAddress("[email protected]")); 

     try 
     { 
      smtpClient.Send(message); 
     } 
     catch(Exception ex) 
     { 
      //Error, could not send the message 
      Console.Write(ex.Message); 
      Console.ReadLine(); 
     } 


    } 
} 
} 

cmd просто показывает мне: Ошибка при отправке электронной почты (перевод с немецкого). Я не знаю, как это исправить.

+0

Я что-то упустил? Весь этот код связан с SMTP-клиентом, тогда как ваша проблема, по-видимому, связана с реализацией вашего сервера ... –

+0

Вы хотите создать сервер SMTP *? Зачем ты это сделал? Это * много работы для продукта, который уже существует в пиках. Кроме того, отправленный вами код не является SMTP-сервером. Это * использование * SMTP-сервера. Если вы написали этот сервер и этот сервер не отправляет электронную почту, проблема будет * на этом сервере *. Не в коде, который отправляет ему запросы. – David

+0

Это ловушка для исключения? Можете ли вы дать полную трассировку стека, если это так. – Grice

ответ

0

Вы используете localhost как свой SMTP-сервер. Это сервер электронной почты? Если нет, вы не можете использовать SMTPClient для отправки электронной почты. Вам нужен SMTP-сервер, например smtp.google.com.

-1

Я был немного смущен. Мне нужен сервер электронной почты (SMTP) с auth (простой пользователь/пропуск), запущенный на C#, для отправки электронной почты с использованием другого программного обеспечения под названием «MaxBulkMailer». SMTP-сервер в C# должен запускаться только на cmd, без использования GUI.

+0

Правильно отредактируйте свой вопрос, так как это не отвечает на ваш вопрос. –

Смежные вопросы