전자 메일에 봇 커넥트

적용 대상: SDK v4

Microsoft 365 전자 메일을 통해 사용자와 통신하도록 봇을 구성할 수 있습니다. 전자 메일 계정에 액세스하도록 봇을 구성하면 새 전자 메일이 도착하면 메시지를 받습니다. 그러면 봇이 전자 메일을 사용하여 응답할 수 있습니다. 예를 들어 사용자의 전자 메일 메시지에 대한 응답으로 봇은 "안녕하세요! 주문해 주셔서 감사합니다! 즉시 처리를 시작할 것입니다."

전자 메일 채널은 현재 Office 365에서만 작동합니다. 다른 전자 메일 서비스는 현재 지원되지 않습니다.

Warning

  • 보안상의 이유로 Exchange Online은 2022년 10월 1일에 기본 인증을 사용하지 않도록 설정합니다. 이제 전자 메일 채널에서 새 Exchange Online 최신 인증 모델을 지원합니다. 기본 인증 모델을 사용하는 봇은 2022년 10월 변경 후 오류가 발생합니다. 또는 테넌트 관리자가 해당 날짜 이전에 기본 인증을 사용하지 않도록 설정하는 경우 이전 버전입니다. 자세한 내용은 기본 인증 및 Exchange Online - 2021년 9월 업데이트를 참조 하세요.
  • 원치 않거나 원치 않는 대량 전자 메일을 보내는 봇을 포함하여 "스팸봇"을 만드는 것은 Bot Framework 행동 강령 을 위반하는 것입니다.

필수 조건

  • Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
  • 봇에 대한 전용 Office 365 전자 메일 계정입니다.
  • Mail.ReadWriteMail.Send 액세스 권한을 부여할 수 있는 권한입니다. 자세한 내용은 Microsoft Entra ID 애플리케이션 동의 환경 이해를 참조 하세요.

참고 항목

해당 전자 메일 계정으로 전송된 모든 메시지가 봇에 전달되므로 봇에 대해 고유한 개인 전자 메일 계정을 사용하면 안 됩니다. 이로 인해 봇이 보낸 사람에게 응답을 부적절하게 보낼 수 있습니다. 이러한 이유로 봇은 전용 M365 전자 메일 계정만 사용해야 합니다.

최신 인증을 사용하도록 전자 메일 구성

  1. Azure Portal을 엽니다.

  2. 봇에 대한 Azure Bot 리소스 블레이드를 엽니다.

  3. 왼쪽 창에서 채널을 선택합니다.

  4. 전자 메일을 선택하여 전자 메일 구성 블레이드를 엽니다.

    Configure email settings

    1. 인증 유형을 OAUTH(최신 인증)로 설정합니다.

    2. 전자 메일 주소에서 봇에 대한 전용 Office 365 전자 메일 계정을 입력합니다.

    3. 권한 부여를 선택합니다.

      1. 메시지가 표시되면 전자 메일 계정에 로그인하고 읽기/쓰기를 부여하고 봇에 권한을 보냅니다.

      2. 성공하면 유효성 검사 코드가 포함된 페이지가 열립니다. 유효성 검사 코드를 복사합니다.

        Interaction with validation code

    4. 인증 코드에서 방금 복사한 유효성 검사 코드를 입력합니다.

    5. 적용을 선택하여 전자 메일 구성을 완료합니다.

기본 인증을 사용하도록 전자 메일 구성

참고 항목

  • Microsoft Entra ID를 대체하는 공급업체를 사용한 페더레이션 인증은 지원되지 않습니다.
  • 보안상의 이유로 Exchange Online의 기본 인증 사용은 2022년 10월 1일에 사용하지 않도록 설정됩니다. 최종 기한 전에 최신 인증을 사용하도록 모든 봇을 마이그레이션해야 합니다.
  • Microsoft Exchange Server를 사용하는 경우 기본 인증을 사용하도록 전자 메일을 구성하기 전에 먼저 자동 검색 을 사용하도록 설정했는지 확인합니다.
  • MFA를 사용하도록 설정된 Office 365 계정을 사용하는 경우 먼저 지정된 계정에 대해 MFA를 사용하지 않도록 설정해야 합니다. 그러면 전자 메일 채널에 대한 계정을 구성할 수 있습니다. 그렇지 않으면 연결이 실패합니다.
  1. Azure Portal을 엽니다.

  2. 봇에 대한 Azure Bot 리소스 블레이드를 엽니다.

  3. 왼쪽 창에서 채널(미리 보기)을 선택하여 채널 블레이드를 엽니다.

  4. 전자 메일을 선택하여 전자 메일 구성 블레이드를 엽니다.

    Enter email credentials

    1. 인증 유형을 기본 인증으로 설정합니다(2022년 10월 응시를 사용하지 않도록 설정).
    2. 전자 메일 주소에서 봇에 대한 전용 Office 365 전자 메일 계정을 입력합니다.
    3. 암호전자 메일 계정의 암호를 입력합니다.
    4. 적용을 선택하여 전자 메일 구성을 완료합니다.

이메일 사용자 지정

전자 메일 채널은 활동 channelData 속성을 사용하여 사용자 지정 값을 전송하여 고급 사용자 지정 전자 메일을 만들 수 있도록 지원합니다. 아래 코드 조각은 봇에서 사용자로 들어오는 사용자 지정 전자 메일 메시지의 channelData 예를 보여줍니다.

{
    "type": "ActivityTypes.Message",
    "locale": "en-Us",
    "channelID": "email",
    "fromName": { "id": "mybot@mydomain.com", "name": "My bot"},
    "recipientName": { "id": "joe@otherdomain.com", "name": "Joe Doe"},
    "conversation": { "id": "123123123123", "topic": "awesome chat" },
    "channelData":
    {
        "htmlBody": "<html><body style = \"font-family: Calibri; font-size: 11pt;\" >This is more than awesome.</body></html>",
        "importance": "high",
        "ccRecipients": "Yasemin@adatum.com;Temel@adventure-works.com",
    }
}

활동 channelData 속성에 대한 자세한 내용은 사용자 지정 전자 메일 메시지 만들기를 참조하세요.

문제 해결

애플리케이션에 대한 동의를 처리하는 동안 발생할 수 있는 오류는 애플리케이션에 대한 동의를 수행할 때 Microsoft Entra ID 애플리케이션 동의 환경예기치 않은 오류 이해를 참조하세요.

봇이 들어오는 전자 메일 메시지에 대한 응답으로 15초 이내에 200 OK HTTP 상태 코드를 반환하지 않으면 전자 메일 채널이 메시지를 다시 보내려고 시도하고 봇이 동일한 전자 메일 메시지 작업을 몇 번 수신할 수 있습니다. 자세한 내용은 봇 작동 방식 및 문제 해결 시간 제한 오류 문서의 HTTP 세부 정보 섹션을 참조하세요.

추가 리소스