0

メールメッセージを構築して送信するクラスがあります。変更を加えたいのですが、その前にいくつかテストしたいことがあります (URL がどのように表示されるかなど)。コンソールから手動でメッセージを送信しようとしていますが、エラーが発生します。クラスのSendMessageメソッドは次のとおりです。

Method SendMessage(pSubject As %String, pMessage As %String, pEmailAddresses) As %Status
{
    set tSC=$$$OK
    set tMailMessage=##class(%Net.MailMessage).%New()
    do tMailMessage.To.Insert($PIECE(pEmailAddresses,",",1))
    for tI=2:1:$LENGTH(pEmailAddresses,",") {
        do tMailMessage.Cc.Insert($PIECE(pEmailAddresses,",",tI))
    }

    set tMailMessage.Subject=pSubject
    set tMailMessage.Charset="iso-8859-1"
    set tSC=tMailMessage.TextData.Write(pMessage)
    quit:'tSC
    Set tSC1=..Adapter.SendMail(tMailMessage)
    if 'tSC1 {
        //Log warning about being unable to send mail.
        do $SYSTEM.Status.DecomposeStatus(tSC1,.err)
        $$$LOGWARNING("Could not send email: "_err(err))
        kill err
    }

    quit tSC
}

ターミナルから、MailMessage クラスをインスタンス化して本文データを設定できますが、送信しようとするとエラーが発生します。

USER>set tMailMessage=##class(%Net.MailMessage).%New()

USER>do tMailMessage.To.Insert("me@email.com")

USER>set tSC=tMailMessage.TextData.Write("This is a URL test http://www.google.com, thank you")

USER>set tMailMessage.Subject="This is a test"

USER>set tMailMessage.Charset="iso-8859-1"

USER>set tSC1=..Adapter.SendMail(tMailMessage)

SET tSC1=..Adapter.SendMail(tMailMessage)
^
<NO CURRENT OBJECT>

ご覧のとおり、試してみるとSendMailNO CURRENT OBJECT

更新 クラスの上部にある次の行に気付きました:

Parameter ADAPTER = "EnsLib.EMail.OutboundAdapter";

Property Adapter As EnsLib.EMail.OutboundAdapter;

だから私は試しUSER>set tSC1=EnsLib.EMail.OutboundAdapter.SendMail(tMailMessage)ましたが、結果は<UNDEFINED> *EnsLib

4

1 に答える 1