0 votes

I'm having occasional email failures, when sending emails as part of a business rule. About 90% are going through fine, but the other 10% are failing. I created a custom command with the same email, and if I manually fire that off for the user it will go through. I checked my email server logs, but I don't see the email coming through. Are there additional logs somewhere that will tell me more?

by (920 points)
0

Hello Ryan,

Take a look at Adaxes Event Log for any errors and/or warnings that may be related to the issue. For information on how to view it, see the following help article: http://www.adaxes.com/help/?ServiceAdmi ... ntLog.html.

0

There are two errors reported. Please see below

Log Name:      Adaxes
Source:        Adaxes Service
Date:          4/8/2014 10:46:29 AM
Event ID:      0
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Adaxes.domain.com
Description:
Softerra.Adaxes.CommandPipeline.CommandProcessingException: The following command threw an exception while being executed: Send e-mail notification (Password Change Notification). ---> System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed.
   at System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
   at System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   --- End of inner exception stack trace ---
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at #vh.#so.Send(String toAddress, String subject, String textBody, String htmlBody, String fromAddress, String cc, String bcc)
   at Softerra.Adaxes.CommandPipeline.Actions.SendMailNotificationAction.ExecuteAction(IAdmTop targetObject)
   at Softerra.Adaxes.CommandPipeline.Actions.ActionBase.Execute(IAdmTop targetObjectArg)
   at Softerra.Adaxes.CommandPipeline.Actions.ActionBase.Execute(ICommand command)
   --- End of inner exception stack trace ---
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Adaxes Service" />
    <EventID Qualifiers="0">0</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-04-08T14:46:29.000000000Z" />
    <EventRecordID>2076566</EventRecordID>
    <Channel>Adaxes</Channel>
    <Computer>Adaxes.domain.com</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Softerra.Adaxes.CommandPipeline.CommandProcessingException: The following command threw an exception while being executed: Send e-mail notification (Password Change Notification). ---> System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed.
   at System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
   at System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   --- End of inner exception stack trace ---
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at #vh.#so.Send(String toAddress, String subject, String textBody, String htmlBody, String fromAddress, String cc, String bcc)
   at Softerra.Adaxes.CommandPipeline.Actions.SendMailNotificationAction.ExecuteAction(IAdmTop targetObject)
   at Softerra.Adaxes.CommandPipeline.Actions.ActionBase.Execute(IAdmTop targetObjectArg)
   at Softerra.Adaxes.CommandPipeline.Actions.ActionBase.Execute(ICommand command)
   --- End of inner exception stack trace ---</Data>
  </EventData>
</Event>
Log Name:      Adaxes
Source:        Adaxes Web UI
Date:          4/8/2014 10:47:56 AM
Event ID:      0
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Adaxes.domain.com
Description:
Softerra.Adaxes.Web.Common.FatalErrorException: An unhandled exception occured (for details, see messages below). ---> Softerra.Adaxes.Web.Common.FatalErrorException: Please enable cookies
   at Softerra.Adaxes.Web.UI.Common.Pages.PageBase.EnsureBrowseIsCompatible()
   at Softerra.Adaxes.Web.UI.Common.Pages.PageBase.OnInit(EventArgs e)
   at Softerra.Adaxes.Web.UI.Common.Pages.ViewPageBase.OnInit(EventArgs e)
   at Softerra.Adaxes.Web.UI.SignInPage.OnInit(EventArgs e)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   --- End of inner exception stack trace ---
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Adaxes Web UI" />
    <EventID Qualifiers="0">0</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-04-08T14:47:56.000000000Z" />
    <EventRecordID>2076567</EventRecordID>
    <Channel>Adaxes</Channel>
    <Computer>Adaxes.domain.com</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Softerra.Adaxes.Web.Common.FatalErrorException: An unhandled exception occured (for details, see messages below). ---> Softerra.Adaxes.Web.Common.FatalErrorException: Please enable cookies
   at Softerra.Adaxes.Web.UI.Common.Pages.PageBase.EnsureBrowseIsCompatible()
   at Softerra.Adaxes.Web.UI.Common.Pages.PageBase.OnInit(EventArgs e)
   at Softerra.Adaxes.Web.UI.Common.Pages.ViewPageBase.OnInit(EventArgs e)
   at Softerra.Adaxes.Web.UI.SignInPage.OnInit(EventArgs e)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   --- End of inner exception stack trace ---</Data>
  </EventData>
</Event>

1 Answer

0 votes
by (216k points)

Ryan,

To send emails, we use the standard .NET send mailer provided by Windows, and the error is returned by the mailer. As far as we managed to dig from the available information, the issue can be that you are simply sending emails too often.

0

Thanks for taking a look. If you could add this as something to be improved in the future I'd appreciate it. I'm using this for a password change notification email, and of course we have a lot of users going through the process right away, so maybe a few bursts of 5-10 emails within a minute or two, but nothing too crazy. For now I'm just watching the log, and manually triggering emails for any that fail initially.

Ryan

0

Ryan,

Thanks for the suggestion!

By the way, how is the password change triggered? Do you users do it manually or is it some kind of a Scheduled Task, Custom Command or something like that?

0

Our users are doing the password change manually through the web interface. We are a K-12 school district and our users are spread across multiple operating systems, so forcing a password change through the built-in AD tools isn't ideal as it can't touch all users. Once a year, we send a mass email instructing staff to change their password, and now with Adaxes we're pointing them to the self service web interface. So far it's working really well!

Related questions

0 votes
1 answer

Hey, We've ran into a few issues recently where we ran out of Office Licenses without our knowledge and when that happens it causes a lot of our automation around this ... , so is that something we can easily configure on our scheduled tasks? Thank you, Ben

asked Mar 27, 2017 by Ben.Burrell (490 points)
0 votes
1 answer

Hi, I have a business rule that creates new groups and shared folders that has failed at least twice over the past weeks. Screenshot attached from the GUI. Can you ... file that would have dates/times etc so I can troubleshoot more effectively please? John.

asked Oct 12, 2015 by bistromath (840 points)
0 votes
1 answer

We are currently using the script below to check for a unique username/upn. If the name is not unique, it adds a number to the end. In the Adaxes logs, everything appears ... .LogMessage("The username has been changed to " + $uniqueUPN ` + ".", "Information")

asked 6 days ago by cewilson (270 points)
0 votes
1 answer

We are using the below snippet to grab the email of a single custom attribute object. Can I get guidance on the best way to modify this to get all the emails of each ... "The user specified in parameter 'MyParameter' has no email address. ", "Information") }

asked Dec 23, 2024 by msheppard (720 points)
0 votes
1 answer

I've got a custom task to run and check if the license count falls below a threshold, then send an email if the former returns true. The issue is that the email is ... count, return true if threshold below 100 Email code (with email redacted at the end):

asked Dec 18, 2024 by apruitt (140 points)
3,633 questions
3,321 answers
8,398 comments
548,760 users