メール送信がエラーになる

まだまだ関東は梅雨明けしませんね。じめじめしているよりも暑い夏の方がスッキリしてて気持ちよいので早く夏になって欲しい筆者ですが・・・

今日も、にほんブログ村 IT技術ブログへランキングアップのご協力をお願いします。



さて、今日はプログラムの互換性に関するお話しです。

8.5.1で変わったところ その1で紹介しましたが、8.5.1では、ドミノディレクトリにローマ字のユーザ名と日本語のユーザ名が表示されるようになりました(DJX導入時)。

この事が原因?で、ちょっとした不具合が発生することが分かりましたので、記載しておきます。
と言っても、プログラムの作りが悪いと思いますので、Lotus Notes/Dominoそのものの不具合とは思いませんので、悪しからず。


サンプルを見てください。単純にバックエンドでメールを送信するプログラムです。
Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim mdoc As NotesDocument
    
    Set db = session.CurrentDatabase
    Set mdoc = db.CreateDocument
    
    mdoc.Form = "Memo"
    '↓ここのユーザ名をCN形式で記述するのがポイント
    mdoc.SendTo = "Masahiko Miyo"
    '↑ここのユーザ名をCN形式で記述するのがポイント
    mdoc.Subject = "Test Mail"
    Call mdoc.Send( False )
End Sub


このプログラムを実行すると、

というエラーになります。

どうも、ユーザ名を正しく認識できないようです。
ドミノディレクトリのローマ字のユーザ名と日本語のユーザ名の文書を別物として見ているのかもしれません。

ということで、この部分が悪いのでしょう。
mdoc.SendTo = "Masahiko Miyo"

通常、ノーツメールを送信する場合、「Masahiko Miyo/EFMIYO」のように認証名まで含めて記述するのに、あえてCN形式にしているのがいけないのでしょう。
ここを
mdoc.SendTo = "Masahiko Miyo/EFMIYO"
としたら、正常にメールを送信してくれました。


もし、皆さんが作成したノーツDBの中に、メール送信部分がある場合は、一度確かめてみてはいかがでしょうか。
意外な不具合が隠されているかもしれません。


↓↓↓こちらもよろしく!↓↓↓
【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

コメント