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,9 +292,7 @@ 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
{ {
@ -300,9 +304,6 @@ namespace OpenSim.Modules.EMail
} }
} }
m_sendMessages = new List<MimeMessage>();
}
client.Disconnect(true); client.Disconnect(true);
} }
} }