我想知道在 Dynamics Ax 客户端和为服务器设置为默认电子邮件客户端的电子邮件客户端之间发送电子邮件的过程是如何工作的。
首先,Dynamics Ax 可以使用替代电子邮件客户端(不是 Outlook)来发送电子邮件,其次是 Dynamics Ax 将整个配置发送到客户端,或者客户端必须自行配置。
现在我在尝试使用 Windows Live Mail 发送电子邮件时遇到未知错误。
我想知道在 Dynamics Ax 客户端和为服务器设置为默认电子邮件客户端的电子邮件客户端之间发送电子邮件的过程是如何工作的。
首先,Dynamics Ax 可以使用替代电子邮件客户端(不是 Outlook)来发送电子邮件,其次是 Dynamics Ax 将整个配置发送到客户端,或者客户端必须自行配置。
现在我在尝试使用 Windows Live Mail 发送电子邮件时遇到未知错误。
Dynamics AX 将MAPI用于客户端邮件。
您可以使用该SysINetMail::sendEMail
方法发送一封简单的邮件。
如果您批量发送邮件,另一种选择是使用 SMTP 邮件SysEmailTable::sendMail
。
这需要使用邮件模板。
我知道这是一个老问题,但如果其他人需要它......我在 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;
}
使用 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 添加权限集。