使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

尝试使用 Microsoft Dynamics AX 4.0 中的 Send 方法以编程方式向本地 SMTP 服务器发送电子邮件时,不会发送电子邮件。 此外,你还会收到以下错误消息:

类"CDO"的 COM 对象中的方法"send"。消息返回的错误代码0x80040213 (<未知>) ,这意味着:传输无法连接到服务器。

原因

如果满足以下条件,则可能会发生此问题:

  • 本地 SMTP 服务器位于运行 Microsoft Windows Server 2003 的计算机上。

  • SMTP 虚拟 (IP) 的 Internet 协议地址设置为本地计算机的 IP 地址。

解决方法

若要解决此问题,请将 SMTP 虚拟服务器的 IP 地址更改为使用"所有 分配"选项,然后运行代码以编程方式发送电子邮件。

若要更改 SMTP 虚拟服务器的 IP 地址,请执行以下步骤:

  1. 单击"开始",指向"所有程序",指向"管理工具",然后单击"IIS Internet Information Services (") 管理器"。

  2. 展开 Microsoft Dynamics AX 4.0 服务器

  3. 右键单击"默认 SMTP 虚拟服务器",然后单击"属性"。

  4. 在" 常规" 选项卡上 , ("IP 地址"框中) "所有未分配 "地址

  5. 单击 "确定 "关闭" 默认 SMTP 虚拟服务器属性" 对话框。

更多信息

Microsoft 仅提供演示编程示例,没有明示或默示的担保。 这包括但不限于对特定用途的可商家性或适用性的默示保证。 本文假定你熟悉正在演示的编程语言以及用于创建和调试过程的工具。 Microsoft 支持工程师可以帮助解释特定过程的功能。 但是,它们不会修改这些示例以提供额外的功能或构造过程来满足你的特定要求。

以下代码是一个示例,演示了如何使用 Microsoft Dynamics AX 4.0 中的 Send 方法以编程方式发送电子邮件。

static void SysMailer(Args _args)
{
SysMailer mailer;
;

mailer = new SysMailer();
mailer.body("This is the body of the mail");
mailer.subject("The message subject");
mailer.fromAddress("alias@domain");
mailer.tos().appendAddress("alias@domain");
mailer.SMTPRelayServer("domain_name_of_SMTP_Server");

mailer.sendMail();

pause;
}

如果使用"警报"功能通过弹出消息或电子邮件接收通知,可能需要验证 Internet Information Services (IIS) 管理器中的设置是否正确。 为此,请按照下列步骤操作:

  1. 在 IIS 管理器中,展开 Microsoft Dynamics AX 4.0 服务器。

  2. 右键单击"默认 SMTP 虚拟服务器"。 然后单击"属性"。

  3. 单击" 访问" 选项卡。

  4. 单击"连接"。

  5. 验证是否选择了"除以下列表外的所有项"选项。 或者,如果选择了"仅下面的列表"选项,请验证该列表是否为空。

  6. 在"连接"窗口中,单击 "确定 "接受更改。

  7. 单击"中继"。 然后,重复步骤 5 到步骤 6。

  8. 验证是否选择了 "除以下列表外的所有 项"选项。 或者,如果选择了"仅下面的列表"选项,请验证该列表是否为空。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×