Ik heb een service die via Indy een SMTP bericht probeert te versturen. Dit werkt niet dus vraag ik mij af of er nog speciale voorwaarden zijn voor het gebruik van idSMTP in een service?
Ik heb een service die via Indy een SMTP bericht probeert te versturen. Dit werkt niet dus vraag ik mij af of er nog speciale voorwaarden zijn voor het gebruik van idSMTP in een service?
Zorg dat jouw service de juiste rechten heeft (services worden onder een ander account, met hele beperkte rechten, gestart).
Het makkelijkste (en snelste, die per se de beste) manier is om jouw eigen account (daar waaronder je ontwikkeld) in te stellen.
Configuratiescherm -> Services -> <JOUW SERVICE> -> Eigenschappen -> Aanmelden -> "Aanmelden als:" -> "Dit account:" en dan jouw login en wachtwoord invullen
TMemoryLeak.Create(Nil);
Dat heb ik al geprobeerd maar werkt helaas niet. Mijn account heeft administrator rechten.
Werkt het als niet service project wel? Misschien een firewall die de boel blokkeert?
Ja dan werkt het wel.
"Dit werkt niet" is natuurlijk weer een dooddoener.
Iets van een exception misschien?
Waarschijnlijk mis je ergens een CoInitialize, die heeft Indy wel vaker nodig
Objective reality is a delirium caused by lack of alcohol in blood
Hmm, dan zul je moeten debuggen vrees ik: dit kan al eenvoudig door gewoon de statuscode te loggen naar een tekstbestand oid.
Het kan in ieder geval wel, Indy in een service: ik heb al jarenlang een (weliswaar HTTP)-service zonder enig probleem draaien.
Je service start verder wel?
TMemoryLeak.Create(Nil);
De melding SSL negotiation failed verschijnt in de log. Het vreemde is dat het als niet service project wel werkt.
Was aan het slapen. De service is 32bit was terwijl de hoofdapplicatie 64bit is.
Even in een andere folder met de juiste DLL's geplaatst en doet het!
Bedankt voor de aanwijzingen!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks