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)
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
{
@ -286,21 +292,16 @@ namespace OpenSim.Modules.EMail
if (SMTP_SERVER_LOGIN != String.Empty && SMTP_SERVER_PASSWORD != String.Empty)
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);
}
catch (Exception _innerError)
{
m_log.Error("[" + Name + "] " + _innerError.Message);
}
client.Send(message);
}
catch (Exception _innerError)
{
m_log.Error("[" + Name + "] " + _innerError.Message);
}
m_sendMessages = new List<MimeMessage>();
}
client.Disconnect(true);