📄 licemail.tcl
字号:
## SYNOPSIS# .tS# onMailSend()# .tE## PARAMETERS: N/A## RETURNS: 1 if successful## ERRORS: N/A#proc onMailSend {} { global setupVals outFileName #initialize everything set retVal 1 set attachments "" set bccList "" set server "" set toList "" set sender "" set ccList "" set subject "" set msgContents "$setupVals(mailMsg)" set mailDate [clock format [clock second] -format "%a, %d %h %Y %X"] if { [isGUImode] } { set server [controlValuesGet mailConfirmDlg.smtpEdit] set toList [controlValuesGet mailConfirmDlg.toEdit] set sender [controlValuesGet mailConfirmDlg.fromEdit] set ccList $sender set subject [controlValuesGet mailConfirmDlg.subjectEdit] # sender address must be entered if {$sender == ""} { messageBox [strTableGet 3356_LICENSE_WARN] controlFocusSet mailConfirmDlg.fromEdit return 0 } # check email address(es) format set isValid 1 set badEmail "" foreach email $sender { if { ![regexp {^[a-zA-Z0-9].*@.*} $email] } { append badEmail "$email " set isValid 0 set sender "" } } if { ! $isValid } { messageBox "Error: Invalid email address(es) format: $badEmail\n" controlFocusSet mailConfirmDlg.fromEdit return 0 } # server name must be entered if SMTP if {$server == "" && [controlValuesGet mailConfirmDlg.smtpButt] == "1"} { messageBox [strTableGet 1541_MAIL_SERVER] set retVal 0 } } else { #TEXT MODE puts "\n\n*******************" puts "Mail Confirmation" puts "*******************\n\n" set isSMTP 0 set question "sender" while {[string compare $question "done"] != 0} { switch $question { "sender" { puts [strTableGet LICEMAIL_SENDMAIL_SENDER] set ret [prompt] switch -regexp -- $ret { "^-$" { pageCreate(licEmail) return 0 } "^$" { puts "Error: [strTableGet 3356_LICENSE_WARN]" while {[prompt "Press <Enter> to continue."] != "" } { } } "^[eE][xX][iI][tT]$" { return 0 } default { set isValid 1 set badEmail "" foreach email $ret { if { ![regexp {^[a-zA-Z0-9].*@.*} $email] } { append badEmail "$email " set isValid 0 } } if { $isValid } { set sender $ret set question "server" } else { puts "Error: Invalid email address(es) format: $badEmail\n" set question "sender" } } } } "server" { puts [strTableGet LICEMAIL_SENDMAIL_SERVER] set ret [prompt] switch -regexp -- $ret { "^-$" { set question "sender" } "^1$" { set server $ret set isSMTP 1 set question "host" } "^2$" { set server "" set question "confirm" } "^[eE][xX][iI][tT]$" { return 0 } default { puts "Error: Invalid input." while {[prompt "Press <Enter> to continue."] != "" } { } } } } "host" { puts [strTableGet LICEMAIL_SENDMAIL_HOST] set ret [prompt] switch -regexp -- $ret { "^-$" { set question "server" } "^$" { set server "mailhost" set question "confirm" } "^[eE][xX][iI][tT]$" { return 0 } default { set server $ret set question "confirm" } } } "confirm" { puts [strTableGet LICEMAIL_SENDMAIL_CONFIRM] set ret [prompt] switch -regexp -- $ret { "^-$" { if { $isSMTP } { set isSMTP 0 set question "host" } else { set question "server" } } "^$" { set question "done" } "^[eE][xX][iI][tT]$" { return 0 } default { } } } "done" { set retVal 1 } } } set toList [strTableGet 1220_MAIL_TO] set ccList $sender set subject [strTableGet 1230_MAIL_SUBJECT] } if {[isUnix]} { set recipients [concat $toList $ccList $bccList] if [catch {exec mail -s $subject $recipients < $outFileName} error] { if [catch {exec mail $recipients < $outFileName} e] { if { [isGUImode] } { messageBox [strTableGet 1240_MAIL_ERROR] } else { puts "Error: [strTableGet 1240_MAIL_ERROR]" } return 0 } } if { [isGUImode] } { messageBox [strTableGet 1250_MAIL_OK] windowClose mailConfirmDlg } else { puts "[strTableGet 1250_MAIL_OK]\n" } set setupVals(mailDlgRet) $retVal return $retVal } else { beginWaitCursor if {[controlValuesGet mailConfirmDlg.smtpButt] == "0"} { set mailCommand {mapiMailSend $toList $ccList $bccList \ $subject $msgContents $attachments} } { set mailCommand {smtpMailSend $mailDate $sender $toList $ccList \ $bccList $subject $msgContents $server $attachments} set msgContents [split $msgContents \n] } if [catch $mailCommand error] { endWaitCursor messageBox -stop [strTableGet 1240_MAIL_ERROR] #messageBox -stop $error } { endWaitCursor messageBox -info [strTableGet 1250_MAIL_OK] windowClose mailConfirmDlg } } set setupVals(mailDlgRet) $retVal return $retVal}############################################################################### mailSendInit() - initialize "Mail Confirmation" dialog## This procedure initializes "Mail Confirmation" dialog## SYNOPSIS# .tS# mailSendInit()# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc mailSendInit {} { controlValuesSet mailConfirmDlg.toEdit [strTableGet 1220_MAIL_TO] controlValuesSet mailConfirmDlg.subjectEdit [strTableGet 1230_MAIL_SUBJECT] controlValuesSet mailConfirmDlg.smtpEdit "mailhost" #controlValuesSet mailConfirmDlg.smtpButt 1 controlCheckSet mailConfirmDlg.smtpButt 1}############################################################################### onSmtp() - a callback function when SMTP radio button is selected## This procedure is a callback function when SMTP radio button is selected## SYNOPSIS# .tS# onSmtp()# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc onSmtp {} { controlEnable mailConfirmDlg.smtpEdit 1}############################################################################### onMapi() - a callback function when MAPI radio button is selected## This procedure is a callback function when MAPI radio button is selected## SYNOPSIS# .tS# onMapi()# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc onMapi {} { controlEnable mailConfirmDlg.smtpEdit 0}####################################################################### Dialog Text Messages######################################################################set strTable(LICEMAIL_MSG) \ "This information will be written to"set strTable(LICEMAIL_SENDMAIL_SENDER) \ "Please enter the return email address. If you wish to enter\ additional email addresses, please separate them by white spaces"set strTable(LICEMAIL_CONTACT_INFO) \ "For further contact information, please visit\ http://www.windriver.com/license_admin"set strTable(LICEMAIL_SENDMAIL_SERVER) \ "Please select Mail Protocol\n1 - SMTP ; 2 - MAPI"set strTable(LICEMAIL_SENDMAIL_HOST) \ "Please enter SMTP host. \[mailhost\]"set strTable(LICEMAIL_SENDMAIL_CONFIRM) \ "Press \<Return\> to send license request information to Wind River\ or enter \"-\" to go back to make changes."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -