create a new list for send

master
Christopher 2020-07-01 22:14:54 +02:00
parent dbb9599c22
commit c7845b27f9
1 changed files with 15 additions and 14 deletions

View File

@ -259,9 +259,15 @@ namespace OpenSim.Modules.EMail
if ((m_sending + 10) > _currentUnixTime) if ((m_sending + 10) > _currentUnixTime)
return; return;
m_sending = _currentUnixTime + 5; List<MimeMessage> _messageToSend = new List<MimeMessage>();
m_log.Info("[" + Name + "] Sending " + m_sendMessages.Count + " Mails."); lock (m_sendMessages)
{
_messageToSend.AddRange(m_sendMessages);
m_sendMessages = new List<MimeMessage>();
}
m_log.Info("[" + Name + "] Sending " + _messageToSend.Count + " Mails.");
try try
{ {
@ -286,21 +292,16 @@ namespace OpenSim.Modules.EMail
if (SMTP_SERVER_LOGIN != String.Empty && SMTP_SERVER_PASSWORD != String.Empty) if (SMTP_SERVER_LOGIN != String.Empty && SMTP_SERVER_PASSWORD != String.Empty)
client.Authenticate(SMTP_SERVER_LOGIN, SMTP_SERVER_PASSWORD); client.Authenticate(SMTP_SERVER_LOGIN, SMTP_SERVER_PASSWORD);
lock(m_sendMessages) foreach (MimeMessage message in _messageToSend)
{ {
foreach (MimeMessage message in m_sendMessages) try
{ {
try client.Send(message);
{ }
client.Send(message); catch (Exception _innerError)
} {
catch (Exception _innerError) m_log.Error("[" + Name + "] " + _innerError.Message);
{
m_log.Error("[" + Name + "] " + _innerError.Message);
}
} }
m_sendMessages = new List<MimeMessage>();
} }
client.Disconnect(true); client.Disconnect(true);