Я хочу создать 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 просто показывает мне: Ошибка при отправке электронной почты (перевод с немецкого). Я не знаю, как это исправить.
Я что-то упустил? Весь этот код связан с SMTP-клиентом, тогда как ваша проблема, по-видимому, связана с реализацией вашего сервера ... –
Вы хотите создать сервер SMTP *? Зачем ты это сделал? Это * много работы для продукта, который уже существует в пиках. Кроме того, отправленный вами код не является SMTP-сервером. Это * использование * SMTP-сервера. Если вы написали этот сервер и этот сервер не отправляет электронную почту, проблема будет * на этом сервере *. Не в коде, который отправляет ему запросы. – David
Это ловушка для исключения? Можете ли вы дать полную трассировку стека, если это так. – Grice