lee212121 Posted January 12, 2023 Share Posted January 12, 2023 We have an old program which i believe is built using C# for which i have the source code but i cannot edit the program. The issue is we have moved our email to a new provider who is using STARTTLS for sending emails and our program is now failing to send a simple email and returning the error below; sendemail - Error in processing. The server response was: 5.7.3 STARTTLS is required to send mail [LO4P123CA0676.GBRP123.PROD.OUTLOOK.COM] We have an XML file which we can change the values of but i cannot see anywhere to add anything to allow the STARTTLS to work. The XML file contains the following; <Sage200_ImportSLsettings> <FileLocation> <FileLocation>D:\Sage\Sage Import Files</FileLocation> <Company>Volmary Ltd</Company> <MailServer>smtp-mail.outlook.com</MailServer> <MailTo>email</MailTo> <MailFrom>email</MailFrom> </FileLocation> </Sage200_ImportSLsettings> The C# code is shown below (which we are not able to edit) private void ReadXMLforConnectionDetails() { try { string path = Path.GetDirectoryName(Application.ExecutablePath) + @"\@CPS_Sage200_SLImport.xml"; if (File.Exists(path)) { IEnumerator enumerator; XmlDocument document = new XmlDocument(); document.Load(path); XmlNamespaceManager nsmgr = new XmlNamespaceManager(document.NameTable); XmlNodeList list = document.DocumentElement.SelectNodes("/Sage200_ImportSLsettings/FileLocation", nsmgr); try { XmlNode current; enumerator = list.GetEnumerator(); goto TR_0018; TR_0008: try { this.MailFrom = current["MailFrom"].InnerText; } catch (Exception exception5) { ProjectData.SetProjectError(exception5); this.MailFrom = ""; ProjectData.ClearProjectError(); } goto TR_0018; TR_000B: try { this.MailTo = current["MailTo"].InnerText; } catch (Exception exception4) { ProjectData.SetProjectError(exception4); this.MailTo = ""; ProjectData.ClearProjectError(); } goto TR_0008; TR_000E: try { this.MailServer = current["MailServer"].InnerText; } catch (Exception exception3) { ProjectData.SetProjectError(exception3); this.MailServer = ""; ProjectData.ClearProjectError(); } goto TR_000B; TR_0011: try { this.SageCompany = current["Company"].InnerText; } catch (Exception exception2) { ProjectData.SetProjectError(exception2); this.SageCompany = ""; ProjectData.ClearProjectError(); } goto TR_000E; TR_0018: while (true) { if (enumerator.MoveNext()) { current = (XmlNode) enumerator.Current; try { this.FileLocation = current["FileLocation"].InnerText; } catch (Exception exception1) { ProjectData.SetProjectError(exception1); this.FileLocation = ""; ProjectData.ClearProjectError(); } } else { this.ConnecttoSage200(); return; } break; } goto TR_0011; } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } this.WritetoErrorLog("ReadXMLforConnectionDetails() - File does not exist. " + path); Application.Exit(); } catch (Exception exception6) { Exception ex = exception6; ProjectData.SetProjectError(ex); Exception exception = ex; this.WritetoErrorLog("ReadXMLforConnectionDetails() - " + exception.Message); Application.Exit(); ProjectData.ClearProjectError(); } } private void sendemail(string MailSubject, string Emailbody) { try { MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(this.MailServer); message.From = new MailAddress("\"CPS - Sage200 SL Import\"<" + this.MailFrom + ">"); message.To.Add(new MailAddress(this.MailTo)); message.Subject = MailSubject; message.IsBodyHtml = false; message.Body = Emailbody; client.Credentials = new NetworkCredential("email", "password"); client.Send(message); message.Dispose(); } catch (Exception exception1) { Exception ex = exception1; ProjectData.SetProjectError(ex); Exception exception = ex; this.WritetoErrorLog("sendemail - " + exception.Message); Application.Exit(); ProjectData.ClearProjectError(); } } Any advice will be greatly appreciated. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now