最近のアクセス:
Exchange Online、Exchange Server 2013、Office 365 を使用する方法

次の API を使用すると、Microsoft Exchange Online、Microsoft Exchange Server 2013、または Office 365 を使用してメッセージを読んだり送信したりすることができます。

プロパティ

  • ServerUrl: Character
    Exchange Server の URL。空の場合は、API は [ UserName ] に基づいてサーバーを探します。
  • UserName: Character
    Exchange Server で定義されているユーザーの電子メール。
  • Password: Character
  • AttachDir: Character
    ここに添付ファイルが保存されます。空の場合は、添付ファイルはダウンロードされません。
  • Count: Numeric
    [ NewMessages ] プロパティに応じた、メッセージの合計数または未読メッセージの数。
  • NewMessages: bool
    True: (既定) 未読の電子メールだけが読み取られます。
    False: すべての電子メールが読み取られます。
  • SetProperty(Character key, Character value)
    プロパティおよび関連付けられている値を設定できます。たとえば、Exchange Server のバージョンを設定するために使用できます。
  • ErrCode: Numeric
  • ErrDescription: Character

メソッド

  • Login()
    Exchange Server との接続を開始します。
  • Logout()
    Exchange Server との接続を終了します。 
  • Receive(MailMessage): Numeric
    サーバーからメッセージをダウンロードします。成功すると、0 を返します。既定では、'Inbox' フォルダからメッセージをダウンロードします。
  • Send(MailMessage): Numeric
  • Delete(MailMessage): Numeric
  • MarkAs(MailMessage、IsRead): Numeric
IsRead = true: メッセージに開封済みのマークを付けます。IsRead = false: メッセージに未読のマークを付けます。 
  • GetMailMessage(MsgId、Boolean FetchEntireMessage、MailMessage): Numeric
MsgId が指定されている MailMessage を取得します。FetchEntireMessage は、MailMessage 全体 (件名、本文、添付ファイル) をサーバーからダウンロードする必要があるのかどうかを示します。 
  • ChangeFolder(Character): Numeric
    次の Receive() 操作のフォルダを変更します。サブフォルダを参照するには、バックスラッシュを使用する必要があります (例: 'Folder1\Subfolder11\Subfolder111')。

エラーコード

コード メッセージ
0 Ok
5 Could not change folder
10 Could not send message
11 No messages to receive
15 Invalid Attachment
16 Could not save attachment
22 Error receiving message
24 Authentication Error
27 Mail Message with Id not found
新しい電子メールの受信例:
Event 'ReceiveMails'
    Do 'Login'
    
    if (&GXMailExchange.ErrCode = 0)
        &MailMessage = new()
        do while (&GXMailExchange.Receive(&MailMessage) = 0)
            
            &MailMessageSDT.Subject = &MailMessage.Subject
            &MailMessageSDT.From = Format(!"%1 (%2)", &MailMessage.From.Name, &MailMessage.From.Address)
            
            if (not &MailMessage.Text.IsEmpty())
                &MailMessageSDT.Body = &MailMessage.Text
            else
                &MailMessageSDT.Body = &MailMessage.HTMLText
            endif
            &MailMessageSDT.DateReceived = &MailMessage.DateReceived
            &MailMessageSDT.DateSent = &MailMessage.DateSent
            
            for &attach in &MailMessage.Attachments
                &MailMessageSDT.Attachments.Add(&attach.Trim())
            endfor
                    
            //開封済みとしてマーク 
            &GXMailExchange.MarkAs(&MailMessage, true)        
            
            //メッセージを削除
            //&GXMailExchange.Delete(&MailMessage)        
                    
            &MailMessages.Add(&MailMessageSDT)
            &MailMessageSDT = new()
            &MailMessage = new()
        enddo
    
        
    else
        msg(!"Error: " + &GXMailExchange.ErrDescription)                
    endif
    
Endevent

Sub 'Login'
    
    &GXMailExchange.SetProperty(ExchangeVersion.Property, &ExchangeVersion)
    
    &GXMailExchange.ServerUrl = &ServerUrl.Trim()
    &GXMailExchange.UserName = &UserName.Trim()
    &GXMailExchange.Password = &Password.Trim()
    &GXMailExchange.AttachDir = &AttachDir.Trim()
    
    &GXMailExchange.NewMessages = &FetchNewMessagesOnly
    
    &GXMailExchange.Login()    
EndSub
入力値の説明
  • &GXMailExchange 変数データタイプは、GXMailExchange (外部オブジェクト) です。

要件

使用可能バージョン

GeneXus X Evolution 3 Upgrade 4 の .NET ジェネレーター
Java Generator では、JavaMail 実装を使用します。




Created: 16/07/13 19:05 by Admin Last update: 21/05/21 03:35 by Admin
カテゴリ
Powered by GXwiki 3.0