/ / स्क्रिप्ट टेलनेट ईमेल स्क्रिप्ट की अपेक्षा करें - विंडोज़, टीईसीएल, टेलनेट, उम्मीद

स्क्रिप्ट टेलनेट ईमेल स्क्रिप्ट की अपेक्षा करें - विंडोज़, टीसीएल, टेलनेट, उम्मीद है

सक्रिय टीसीएल में उम्मीद स्क्रिप्ट का उपयोग करने की कोशिश कर रहा हैहर ईमेल को भेजने के लिए विंडोज को चलाया जाता है। नीचे मेरे पास कोड है, लेकिन नीचे एक त्रुटि संदेश प्रदर्शित है और समस्या से बचने के तरीके पर कोई मदद की सराहना करेगा। धन्यवाद।

#!/usr/bin/expect
# 
exec tclsh "$0" ${1+"$@"}
package require Expect

spawn plink -telnet IP PORT
send "ehlo *******.comr";
send "AUTH LOGINr";
expect "334 VXNlcm5hbWU6" sleep .1;
send "*************r";
sleep .1;
expect "334 UGFzc3dvcmQ6r"
send "********r";
sleep .1;
expect "235 Authentication succeededr";
send "MAIL from:******@*******.comr";
expect "250 OKr"
send "RCPT to:********@*********.comr";
expect "250 Acceptedr"
send "DATAr";
send "!!!TEXT HERE!!!r";
send ".r";
send "QUITr";
exit

एक त्रुटि हो रही है:

Error in startup script

send: spawn id exp2 not open
while executing
"send "MAIL from:*****@******.comr""
(file "***.tcl" line 16)

यहाँ क्या गलत है पर कोई विचार ????

उत्तर:

जवाब के लिए 5 № 1

मुझे लगता है कि क्योंकि दूरस्थ होस्ट ने कनेक्शन बंद कर दिया और बाहर निकल गया।

क्यों डॉन टी "आप का उपयोग करें smtp tcllib का पैकेज? उम्मीद के साथ पलक पर कच्चे smtp बात करने की तुलना में इसका उपयोग करना बहुत आसान है।

संक्षेप में: आप टेलनेट के लिए पलक का उपयोग करते हैं, एक ऐसी चीज जो आप टीईसीएल के साथ कर सकते हैं socketपहले से ही है। आप smtp की बात करते हैं, कुछ ऐसा जहां बहुत सारे लिबास मौजूद हैं जो इसे बहुत आसान बनाता है।

विशुद्ध tcl के साथ मेल भेजने का उदाहरण:

package require mime
package require smtp

set tok [::mime::initialize 
-canonical text/plain 
-header {From sender@address.example.com} 
-string {Some Text Here}]
::smtp::sendmessage $tok 
-servers IP 
-ports PORT 
-username ****** 
-password ****** 
-recipients recipient@address.example.com 
-originator sender@address.example.com
::mime::finalize $tok