57 lines
1.3 KiB
C#
57 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using SMTPServer.Exceptions;
|
|
using System.Net;
|
|
|
|
namespace SMTPServer
|
|
{
|
|
class MailTransferAgent
|
|
{
|
|
static MTACommandsDict _MTACommandsDict = new MTACommandsDict();
|
|
static Thread _Thread;
|
|
|
|
public static void StartMailTransferAgent()
|
|
{
|
|
_Thread = new Thread(new ThreadStart(MTA));
|
|
_Thread.Start();
|
|
}
|
|
|
|
public static void MTA()
|
|
{
|
|
while (true)
|
|
{
|
|
try
|
|
{
|
|
var mail = MailQueue.GetNextMail();
|
|
} catch (NoMailsInQueueException) {
|
|
Thread.Sleep(100);
|
|
continue;
|
|
}
|
|
|
|
var charset = Encoding.UTF8;
|
|
|
|
var dnsname = GetDNSName("");
|
|
var client = new StartTcpConnection(25, new IPAddress(GetIpFromDNS(dnsname)), charset);
|
|
|
|
if (!client.Connected) ; //ToDo Errorfall
|
|
}
|
|
}
|
|
|
|
public static string GetDNSName(string mailTo)
|
|
{
|
|
var parts = mailTo.Split('@');
|
|
var domain = parts[1];
|
|
|
|
return null;
|
|
}
|
|
|
|
public static byte[] GetIpFromDNS(string dnsname)
|
|
{
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|