This project has moved. For the latest updates, please go here.

E-mail settings

Nov 16, 2013 at 8:53 AM
Can anybody tell me what is wrong with this settings? I can not get any mail out of ticketdesk. I have 4 other sites that are sending all day, so I know my server does.

<system.net>
<mailSettings>
  <smtp from="info@mydomein.nl">
    <network defaultCredentials="false"
         userName="info@mydomein.nl"
         password="mypass"
         host="mail.mydomein.nl"
         enableSsl="true"
         port="25"/>
  </smtp>
</mailSettings>
</system.net>

Email Service Name -- DefaultEmailHandler -- SimpleString
Enable Email Notifications -- true -- BoolString
Enable Outlook Friendly Html Email -- false -- BoolString
From Email Address -- info@mydomein.nl -- SimpleString
From Email Display Name -- TicketDesk -- SimpleString
Site Root Url For Email -- http://100.100.100.100 -- SimpleString

the site root IP is the IP of the mailserver.

Hope that anybody can spot the error in the settings,

Thanks in advance
Coordinator
Nov 16, 2013 at 8:10 PM
I see two potential problems,

1) SSL is enabled, but your port is set to 25. SMTP using SSL is typically on port 465, or 587. Though it isn't unheard of for port 25 to be setup that way in some environments, that isn't a standard configuration.

2) Your Site Root URL for Email setting needs to be the fully qualified URL to the root of the TicketDesk web site (not the mail server).
Feb 3, 2014 at 7:12 PM
It looks like i have yet another problem (probably my fault). When the "client.Send(msg)" line in the DefaultSmtpEmailHandlerService is executed, i get the following exception:

********** 1/31/2014 7:11:56 AM **********
Exception Type: System.ArgumentException
Exception: The virtual path '/' maps to another application, which is not allowed.
Source: DeliverTicketEventNotificationEmail
Stack Trace:
at System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp)
at System.Web.HttpContext.GetFilePathData()
at System.Web.HttpContext.GetConfigurationPathData()
at System.Web.Configuration.RuntimeConfig.GetConfig(HttpContext context)
at System.Web.Configuration.HttpCapabilitiesBase.GetBrowserCapabilities(HttpRequest request)
at System.Web.HttpRequest.get_Browser()
at System.Web.HttpRequestWrapper.get_Browser()
at System.Web.WebPages.BrowserHelpers.GetOverriddenBrowser(HttpContextBase httpContext, Func2 createBrowser)
at System.Web.WebPages.DisplayModeProvider.<.ctor>b__2(HttpContextBase context)
at System.Web.WebPages.DefaultDisplayMode.CanHandleContext(HttpContextBase httpContext)
at System.Web.WebPages.DisplayModeProvider.<GetAvailableDisplayModesForContext>d__4.MoveNext()
at System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations)
at System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView(ControllerContext controllerContext, String partialViewName, Boolean useCache)
at System.Web.Mvc.ViewEngineCollection.<>c__DisplayClass2.<FindPartialView>b__0(IViewEngine e)
at System.Web.Mvc.ViewEngineCollection.Find(Func
2 lookup, Boolean trackSearchedPaths)
at System.Web.Mvc.ViewEngineCollection.FindPartialView(ControllerContext controllerContext, String partialViewName)
at TicketDesk.Web.Client.Areas.Admin.Controllers.EmailTemplateController.GenerateTicketNotificationEmailBody(TicketEventNotification notification, Int32 firstUnsentCommentId, String templateToRender)
at TicketDesk.Web.Client.Areas.Admin.Controllers.EmailTemplateController.GenerateTicketNotificationHtmlEmailBody(TicketEventNotification notification, Int32 firstUnsentCommentId)
at TicketDesk.Web.Client.MefManager.TicketNotificationHtmlEmailContent(TicketEventNotification notification, Int32 firstUnsentCommentId)
at TicketDesk.Domain.Services.NotificationSendingService.GetHtmlBody(TicketEventNotification note, String notifyUser, Int32 minComment)
at TicketDesk.Domain.Services.NotificationSendingService.DeliverTicketEventNotificationEmail(TicketEventNotification note, List`1 consolidations)

I am not really sure what is going on, but here are the settings I am using from the settings management area of TicketDesk:

EmailServiceName = DefaultEmailHandler
FromEmailAddress = DONOTREPLY@mycompany.com FromEmailDisplayName = TicketDesk
SiteRootUrlForEmail = http://##.#.#.##:80 (which is the address for the server...do i need to add the /TicketDesk to it?)

and in the web.config (debug):

<system.net>
<mailSettings>
  <smtp deliveryMethod="SpecifiedPickupDirectory" from="DONOTREPLY@mycompany.com">
    <network host="##.#.#.##" password="" userName="" />
    <specifiedPickupDirectory pickupDirectoryLocation="c:\Temp\" />
  </smtp>
</mailSettings>
</system.net>

and in the web.config (release):

<mailSettings>
  <smtp deliveryMethod="Network">
    <network host="localhost" port="25" defaultCredentials="true"/>
  </smtp>
</mailSettings>
Do i need to copy the debug settings to the release possibly? I have another console application which sends emails out and works fine when i use the following line (the only thing different from TicketDesk): "new SmtpClient(_emailserver);" where _emailserver is the address of our internal email server.

Any ideas?
Coordinator
Feb 5, 2014 at 5:09 AM
This looks exactly like the problem on this thread: https://ticketdesk.codeplex.com/discussions/286153

Usually it has to do with the "Site Root Url For Email" setting being wrong (admin --> application settings).