// DLG_SmsEmail_Add.cpp : implementation file // #include "stdafx.h" #include "corpsms.h" #include "DLG_SmsEmail_Add.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_SmsEmail_Add dialog #include "..\public\pop3\pop3.h" DLG_SmsEmail_Add::DLG_SmsEmail_Add(CWnd* pParent /*=NULL*/) : CDialog(DLG_SmsEmail_Add::IDD, pParent) { //{{AFX_DATA_INIT(DLG_SmsEmail_Add) m_strIP = _T(""); m_strMobile = _T(""); m_strName = _T(""); m_strPasswd = _T(""); m_strUser = _T(""); m_bEnable = FALSE; m_lCheckTime = 5; //}}AFX_DATA_INIT } void DLG_SmsEmail_Add::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_SmsEmail_Add) DDX_Text(pDX, IDC_SMSEMAIL_ADD_IP, m_strIP); DDV_MaxChars(pDX, m_strIP, 48); DDX_Text(pDX, IDC_SMSEMAIL_ADD_MOBILE, m_strMobile); DDV_MaxChars(pDX, m_strMobile, 32); DDX_Text(pDX, IDC_SMSEMAIL_ADD_NAME, m_strName); DDV_MaxChars(pDX, m_strName, 48); DDX_Text(pDX, IDC_SMSEMAIL_ADD_PASSWD, m_strPasswd); DDV_MaxChars(pDX, m_strPasswd, 32); DDX_Text(pDX, IDC_SMSEMAIL_ADD_USER, m_strUser); DDV_MaxChars(pDX, m_strUser, 48); DDX_Check(pDX, IDC_SMSEMAIL_ADD_STATUS, m_bEnable); DDX_Text(pDX, IDC_SMSEMAIL_ADD_CHECKTIME, m_lCheckTime); DDV_MinMaxUInt(pDX, m_lCheckTime, 1, 1000); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_SmsEmail_Add, CDialog) //{{AFX_MSG_MAP(DLG_SmsEmail_Add) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_SmsEmail_Add message handlers void DLG_SmsEmail_Add::SetParam(CString strMobile, ANS_Email_MailData mail) { USES_CONVERSION; m_strMobile= strMobile; m_bEnable = mail.lStatus; m_strName = mail.szName; m_strIP = mail.szIP; m_strUser = mail.szUser; m_lCheckTime=mail.lCheckTime; CDes des; #ifdef UNICODE char szPasswd21[64]={0}; char szPasswd22[64]={0}; char szUser[64]={0}; strcpy( szPasswd21 , W2A(mail.szPasswd) ); strcpy( szUser , W2A(mail.szUser ) ); long lLen=sizeof(szPasswd22); des.Encrypt( szPasswd21 , strlen(szPasswd21) , szPasswd22 , lLen , szUser , 8 ); m_strPasswd = A2W(szPasswd22); #else char szPasswd[32]={0}; long lOut = sizeof(szPasswd); des.Decrypt( mail.szPasswd , _tcslen(mail.szPasswd),szPasswd,lOut,mail.szUser,8); m_strPasswd= szPasswd; #endif } BOOL DLG_SmsEmail_Add::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_SmsEmail_Add::OnOK() { USES_CONVERSION; if ( !UpdateData(true) ) return ; if ( m_strMobile.GetLength() <= 0 ) { #ifdef MOBSET_CARD_VER MessageBox( _T("手机号码有误,请联系在用户信息中更改!"),_T("错误"),MB_ICONWARNING ); #else MessageBox( _T("手机号码有误,请联系管理员修改你的资料!"),_T("错误"),MB_ICONWARNING ); #endif return ; } if ( m_strName.GetLength() <= 0 ) { MessageBox( _T("名称不能为空,请输入!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDC_SMSEMAIL_ADD_NAME)->SetFocus(); return; } if ( m_strIP.GetLength() <= 0 ) { MessageBox( _T("邮件服务器不能为空,请输入!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDC_SMSEMAIL_ADD_IP)->SetFocus(); return; } if ( m_strUser.GetLength() <= 0 ) { MessageBox( _T("邮件帐号不能为空,请输入!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDC_SMSEMAIL_ADD_USER)->SetFocus(); return; } //检测Email地址是否有效 this->SetWindowText( _T("正在检测Email地址...") ); this->BeginWaitCursor(); CPop3Connection pop; pop.SetTimeout( 20000 ); if ( !pop.Connect(m_strIP,m_strUser,m_strPasswd) ) { this->SetWindowText( _T("编辑邮件短信通知项目") ); this->EndWaitCursor(); pop.Disconnect(); MessageBox( _T("输入的Email地址有误或登录帐号密码有误,请检查!"),_T("错误"),MB_ICONWARNING ); GetDlgItem(IDC_SMSEMAIL_ADD_USER)->SetFocus(); return; } pop.Disconnect(); this->EndWaitCursor(); #ifdef UNICODE char szPasswd[64]={0}; char szSPasswd[64]={0}; char szUser[64]={0}; strcpy(szSPasswd,W2A(m_strPasswd)); strcpy(szUser,W2A(m_strUser)); CDes des; long lOut = sizeof(szPasswd); des.Encrypt(szSPasswd ,strlen(szSPasswd),szPasswd,lOut,szUser,8); m_strPasswd= A2W(szPasswd); #else char szPasswd[64]={0}; char szSPasswd[64]={0}; char szUser[64]={0}; strcpy(szSPasswd,m_strPasswd); strcpy(szUser,m_strUser); CDes des; long lOut = sizeof(szPasswd); des.Encrypt(szSPasswd ,m_strPasswd.GetLength(),szPasswd,lOut,szUser,8); m_strPasswd= szPasswd; #endif UpdateData(false); CDialog::OnOK(); }