AX 2012: 使用Office 365 SMTP Server发送邮件
AX 2012中有两种发送邮件的方式
1,COM组件发送邮件,在AX 2012中通过SysMailer进行了封装
2,利用System.Net.Mail中的SmtpClient类发送邮件,在AX 2012中通过SysMailerNet进行了封装
标准系统这两种方式都不支持Office 365 SMTP来进行邮件发送,如果需要支持,我们需要修改标准代码,改起来也很简单
通过COM组件发送邮件,我们需要在SysMailer中的smtpRelayServer方法中增加如下代码,让其支持SSL安全协议
fields.add('http://schemas.microsoft.com/cdo/configuration/smtpusessl',1);
另外,在测试过程中发现,只有端口25才能正常发送邮件。
通过System.Net.Mail发送邮件,我们需要在SysMailerNet中的方法添加标红的部分,其中端口需要指定587,需要enable ssl,需要将default credentials 设置为false,需要重新指定验证的用户和密码
public void sendMail() { SysEmaiLParameters emailParameters; str password; ; emailParameters = SysEmaiLParameters::find(false); password = SysEmailParameters::password(); // Send mail smtpClient.set_Port(587); smtpClient.set_EnableSsl(true); smtpClient.set_UseDefaultCredentials(false); smtpClient.set_Credentials(new System.Net.NetworkCredential(emailParameters.SMTPUserName , password)); smtpClient.Send(mailMessage); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?