Return TypeFunction nameArguments
hzEcodehdsExec::SendEmail(hzChain&,hzHttpEvent*,)

Declared in file: hzDissemino.h
Defined in file : hdsExec.cpp

Function Logic:

0:START 1:param1 param2 param3 param4 hdsApp::ConvertText S 2:!S 3:hzChain::Printf 4:Return E_NODATA 5:emaFrom 6:!emaFrom 7:hzChain::Printf 8:Return E_BADADDRESS 9:hdsApp::ConvertText S 10:!S 11:hzChain::Printf 12:Return E_NODATA 13:emaTo 14:!emaTo 15:hzChain::Printf 16:Return E_BADADDRESS 17:hzEmail::SetSender rc 18:rc!=E_OK 19:Err2Txt hzChain::Printf 20:Return rc 21:hzChain::Printf hzEmail::AddRecipient rc 22:rc!=E_OK 23:Err2Txt hzChain::Printf 24:Return rc 25:hzChain::Printf hdsApp::ConvertText S hzEmail::SetSubject rc 26:rc!=E_OK 27:Err2Txt hzChain::Printf 28:Return rc 29:hzChain::Printf hdsApp::ConvertText msg hzChain::Size hzChain::Printf hzEmail::Compose rc 30:rc!=E_OK 31:Err2Txt hzChain::Printf 32:Return rc 33:hzChain::Printf hzEmail::SendSmtp rc 34:Return rc

Function body:

hzEcode hdsExec::SendEmail (hzChain& errorReport, hzHttpEvent* pE)
{
   _hzfunc("hdsExec::SendEmail") ;
   hzEmail     msg ;
   hzEmaddr    emaFrom ;
   hzEmaddr    emaTo ;
   hzString    param1 ;
   hzString    param2 ;
   hzString    param3 ;
   hzString    param4 ;
   hzString    S ;
   hzEcode     rc ;
   param1 = m_pApp->m_ExecParams[m_FstParam] ;
   param2 = m_pApp->m_ExecParams[m_FstParam+1];
   param3 = m_pApp->m_ExecParams[m_FstParam+2];
   param4 = m_pApp->m_ExecParams[m_FstParam+3];
   S = m_pApp->ConvertText(param1, pE) ;
   if (!S)
       { errorReport.Printf("No sender supplied (%s)\n", *param1) ; return E_NODATA ; }
   emaFrom = S ;
   if (!emaFrom)
       { errorReport.Printf("Bad sender address %s (%s)\n", *S) ; return E_BADADDRESS ; }
   S = m_pApp->ConvertText(param2, pE) ;
   if (!S)
       { errorReport.Printf("No recipient supplied (%s)\n", *param2) ; return E_NODATA ; }
   emaTo = S ;
   if (!emaTo)
       { errorReport.Printf("Bad recipient address %s (%s)\n", *S) ; return E_BADADDRESS ; }
   rc = msg.SetSender(emaFrom) ;
   if (rc != E_OK)
       { errorReport.Printf("Could not set sender to %s, err=%s\n", *emaFrom, Err2Txt(rc)) ; return rc ; }
   errorReport.Printf("Set sender to %s\n", *emaFrom) ;
   rc = msg.AddRecipient(emaTo) ;
   if (rc != E_OK)
       { errorReport.Printf("Could not set recipient to %s, err=%s\n", *emaTo, Err2Txt(rc)) ; return rc ; }
   errorReport.Printf("Set rcpt to %s\n", *emaTo) ;
   S = m_pApp->ConvertText(param3, pE) ;
   rc = msg.SetSubject(S) ;
   if (rc != E_OK)
       { errorReport.Printf("Could not set subject to %s, err=%s\n", *S, Err2Txt(rc)) ; return rc ; }
   errorReport.Printf("Set subject to %s (%s)\n", *S, *param3) ;
   msg.m_Text = m_pApp->ConvertText(param4, pE) ;
   errorReport.Printf("Set message body (%d bytes)\n", msg.m_Text.Size()) ;
   rc = msg.Compose() ;
   if (rc != E_OK)
       { errorReport.Printf("Could not compose message, err=%s\n", Err2Txt(rc)) ; return rc ; }
   errorReport.Printf("Composed message\n") ;
   rc = msg.SendSmtp("127.0.0.1", *m_pApp->m_SmtpUser, *m_pApp->m_SmtpPass) ;
   return rc ;
}