[AX2012] 방송 메일 보내기

3269 단어 2012
AX 2012는 MAPI 또는 SMTP를 사용하여 메일을 보낼 수 있습니다. MAPI는 클라이언트 방법입니다. outlook의 협업이 필요합니다. SMTP는 서버 측 방법으로 SMTP가 AOS 서버를 통해 중계할 수 있도록 요구합니다.SMTP를 통해 어떻게 메일 방송을 보내는지 설명합니다.
  • SMTP 메일 서버 설정: System administration>Setup>System>E-mail parameters로 이동합니다. outgoing mail server에서 SMTP 서버 이름이나 IP를 기입하고 local computer name을 비울 수 있습니다. NTLM을 선택하면 사용자 비밀번호를 입력하지 않고 severtier에서 실행하면 AOS 서비스 계정을 사용하고 클라이언트라면 클라이언트 사용자 계정을 사용합니다
  • EMAIL 템플릿 설정: Organization administration>Setup>E-mail templates로 이동하여 form의 show system e-mail 복선상자를 선택하고 시스템 메일만 메일 방송에 사용할 수 있습니다.새로운 메일 템플릿을 만듭니다. 메일 템플릿에 여러 언어 버전을 만들 수 있습니다. 메일의 구체적인 내용은 HTML이나 XSLT 두 가지 형식 중 하나를 사용할 수 있습니다. 두 가지 내연 변수의 형식이 다릅니다.예를 들어 HTML을 사용하면 HTML 코드는 다음과 같습니다
  • <p>Dear %UserName%,</P>
    <br/ >
    <p>Please .....</p>
    <br/ >

    여기%username%이(가) 자동으로 AX 사용자 이름으로 바뀝니다.이메일template에는batchgroup 옵션이 있습니다. batchgroup을 선택하면 메일을batchjob로 보낼 수 있습니다. 대량의 메일을 보낼 때 성능 개선에 도움이 됩니다.
  • 방송 메일 보내기: System administration>Periodic>E-mail processing>E-mail broadcast로 이동해서 이메일 템플릿을 선택하면receiver는 모든 사용자나 온라인 사용자를 선택할 수 있습니다. OK를 누르면batch(email temlate의batch group이 비어 있는 것은 empty batch group을 사용하는 것이 아니라batch group을 사용하지 않는 것이 맞습니다)를 사용하지 않으면 메일은 해당 사용자의 메일 주소로 발송됩니다.사용자의 메일 주소는 사용자의 옵션에 설정되어 있습니다.batch로 메일을 보내면 AX는 모든 메일에 batchjob를 만들고 SysEmailBatch를 실행하여 메일을 보냅니다.표면적으로는 비교적 간단하지만, 실제로는 시스템이 모든 사용자를 대상으로 SysEmailSystemTable::sendMail(), SysEmailSystemTable::sendMail에 매개 변수가 있습니다_isTraceable, 기본값은false로 SysEmailBatch를 직접 호출하여 발송을 완료하는 것을 나타냅니다.하면, 만약, 만약...isTraceable은true입니다. 그러면 메일은 표 SysOutgoing EmailTable에 추가되어 발송될 것입니다.SysEmailBatch는 메일 템플릿의batch 그룹을 검사합니다. 설정이 있으면batchjobs 대기열에 추가합니다. 그렇지 않으면run() 방법으로 메일을 보냅니다.재미있는 것은 SysEmailBatch입니다.run()도 클래스 변수인 isTraceAble를 검사합니다. 위와 같이true라면, 메일은 다시 시계 SysOutgoing Email Table에 보내려고 시도합니다.클래스 변수 isTraceAble가false로 초기화되었기 때문에 SysEmailBatch.run()에서 SysMailerNet을 직접 호출합니다.sendMail () 은 최종적으로 메일을 보냅니다.SysOutgoing Email Table 테이블에 있는 메일은 시스템 관리 > Periodic > E-mail processing > E-mail sending status에서 볼 수 있습니다. 이 메일들은 어떻게 발송됩니까?이때 우리는 System administration>Periodic>E-mail processing>Batch를 사용하여 메일을 보내는 batch job를 만들어야 한다. 정기적으로 SysEmailDistributor를 호출하여 메일을 보내고, SysEmailDistributor는 SysMailerNet을 직접 사용하여 메일을 순서대로 보내야 한다

  • 만약에 방송 메일이 발생할 때 우리가 온라인 사용자에게 발송을 선택한다면 시스템은 모든 사용자session에 대해 메일을 한 통 배정할 것이다. 만약에 사용자가 많은session(매우 흔하고 관리자가 더 많을 수 있음)이 있다면, 이것은 N이 중복되는 메일을 받을 것이다. 사람들로 하여금 나무랄 수밖에 없게 할 것이다.

    좋은 웹페이지 즐겨찾기