0

我想知道在 Dynamics Ax 客户端和为服务器设置为默认电子邮件客户端的电子邮件客户端之间发送电子邮件的过程是如何工作的。

首先,Dynamics Ax 可以使用替代电子邮件客户端(不是 Outlook)来发送电子邮件,其次是 Dynamics Ax 将整个配置发送到客户端,或者客户端必须自行配置。

现在我在尝试使用 Windows Live Mail 发送电子邮件时遇到未知错误。

4

3 回答 3

2

Dynamics AX 将MAPI用于客户端邮件。

您可以使用该SysINetMail::sendEMail方法发送一封简单的邮件。

如果您批量发送邮件,另一种选择是使用 SMTP 邮件SysEmailTable::sendMail
这需要使用邮件模板。

于 2013-08-09T09:53:24.057 回答
1

我知道这是一个老问题,但如果其他人需要它......我在 Dynamics AX 2009 上使用它,它就像一个魅力:)

server static boolean sendEmail(EmplId _fromEmplId, EmplId _toEmplId, str _subject, str message, EmailPriority _priority = EmailPriority::Normal)
{
boolean         ok = true;
SysEmailBatch   emailBatch;
EmplTable       fromEmplTable;
EmplTable       toEmplTable;
Email           fromEmail;
Email           toEmail;
;

changecompany( -- TO YOUR MASTER COMPANY --)
{
    fromEmplTable   = EmplTable::find(_fromEmplId);
    toEmplTable     = EmplTable::find(_toEmplId);
    fromEmail       = fromEmplTable.email();
    toEmail         = toEmplTable.email();

    if (! fromEmail)
    {
        ok = checkFailed(strfmt("no email set up for %1", _fromEmplId));
    }

    if (! toEmail)
    {
        ok = checkFailed(strfmt("no email set up for %1", _toEmplId));
    }

    if (ok)
    {
        emailBatch = SysEmailBatch::construct();

        emailBatch.parmSendername(fromEmplTable.name());
        emailBatch.parmSenderAddr(fromEmplTable.email());
        emailBatch.parmEmailAddr(toEmplTable.email());

        emailBatch.parmPriority(_priority);
        emailBatch.parmSubject(_subject);
        emailBatch.parmMessageBody(_message);

        emailBatch.run();
    }
}

return ok;
}
于 2021-02-13T15:54:30.750 回答
0

使用 SysOutgoingEmailTable 和 SysOutgoingEmailData 您可以向任何域的收件人发送电子邮件并附加文件。

您有以下字段:

outgoingEmailTable.EmailItemId
outgoingEmailTable.IsSystemEmail
outgoingEmailTable.Sender 
outgoingEmailTable.SenderName 
outgoingEmailTable.Recipient
outgoingEmailTable.Subject 
outgoingEmailTable.Priority 
outgoingEmailTable.WithRetries 
outgoingEmailTable.RetryNum
outgoingEmailTable.UserId
outgoingEmailTable.Status 
outgoingEmailTable.Message
outgoingEmailTable.TemplateId
outgoingEmailTable.LatestStatusChangeDateTime 

outgoingEmailData.EmailItemId
outgoingEmailData.FileName
outgoingEmailData.EmailDataType
outgoingEmailData.FileExtension

在这些表格中插入相应的电子邮件详细信息,您就可以开始了。此外,如果它给出权限错误,请使用 CodeAccessPermission::assertMultiple 添加权限集。

于 2017-12-06T08:08:16.537 回答