WSH 실용 강의---강 3 이메일 작성
저자:Eve Cole
업데이트 시간:2009-05-30 19:53:45
사서함을 만들 때 다른 이메일 서버를 사용할 수 있으므로 상황이 복잡합니다. 일부는 이메일 정보를 텍스트 파일에 저장하고 일부는 레지스트리에 정보를 저장하며 일부는 ADSI 인터페이스를 제공하므로 특정 상황에 따라 다릅니다.
텍스트 파일에 포함된 사용자 이메일 정보의 경우 텍스트 파일을 직접 조작할 수 있습니다. 다음은 텍스트 파일을 작성하는 코드 예제입니다.
에프
wxya
fs = WScript.CreateObject("Scripting.FileSystemObject") 설정
fw = fs.CreateTextFile("c:users.dat") 설정
fw.WriteLine "user1,[email protected],,,"
레지스트리에 있는 사용자 정보의 경우 WSH를 사용하여 레지스트리를 직접 조작하여 사서함 생성을 완료할 수 있습니다. 예를 들어 IMAIL의 사용자 정보는 레지스트리에 있습니다.
HKEY_localmacineSoftWareIPswitchdomain 아래에 있습니다. 메일함의 초기 비밀번호에 있어서 유일한 문제는 암호화 알고리즘을 모른다는 것입니다. 따라서 먼저 수동으로만 메일함을 생성한 다음 고정된 비밀번호를 사용하여 암호화한 후 그것이 무엇인지 확인할 수 있습니다. 우리 스크립트는 다른 메일함을 생성할 때도 이를 사용합니다. 문제는 사용자에게 나중에 비밀번호를 변경해야 한다고 알려야 한다는 것입니다. 그렇지 않으면 안전하지 않습니다.
Exchange Server는 ADSI 인터페이스를 제공하므로 사서함 생성이 편리합니다. 그리고 그의 메일함은 NT 도메인 사용자와 동기화될 수 있습니다. 다음은 샘플 코드입니다.
objContainer = GetObject("LDAP://SERVERNAME/o=OrgName/ou=SiteName/cn=수신자")
objUser = objContainer.Create("원격 주소", "cn=CustRecip")
objUser.cn = "CustRecip"
objUser.Put "대상 주소", "SMTP:[email protected]"
objUser.Put "인터넷 인코딩", 1310720objUser.UID = "CustRecip"
objUser.textEncodedORaddress = "c=US;a= ;p=DOIT;o=CDO;s=CustRecip;"
objUser.Mail = "[email protected]"
objUser.Put "otherMailbox", "MS:OrgName/SiteName/CustRecip"
objUser.Put "복제 민감도", 20
objUser.Put "MAPI 수신자", False
objUser.SetInfo
WScript.Echo objUser.cn
i = 1ToobjUser.PropertyCount의 경우
vProp = objUser.Next로 설정
WScript.Echo vProp.이름
다음
참고: 현재 실험용 Exchange Server가 없기 때문에 위 코드는 테스트되지 않았습니다. 질문이 있는 경우 원본 소스로 이동하여 해결 방법을 확인하세요.
이 스크립트는 약간만 수정하면 ASP에서도 사용할 수 있습니다.