portal Michała Hanćkowiaka
Begin main content
## przyklad wysylania maili pakietem smtp j. Tcl
#
proc err args {catch $args e; set e}
lappend auto_path ~/tcl/tls1.7
package re tls
  #% 1.7.11
  # + nowa wersja tls ?!?!!?!
tls::init -tls1 1
lappend auto_path ~/tcl/tcllib
package re mime
  #% 1.5.4
package re smtp
  #% 1.4.5
tls::version
  #% OpenSSL 0.9.8k 25 Mar 2009
  # + czy to aby nie jest ta podatna wersja?!?!

# !!!! do tego miejsca wykonac !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

set m1 [mime::initialize -canonical text/plain \
  -encoding 8bit -param {charset UTF-8} \
  -string [encoding convertto utf-8 \
{1 A ku ku !!!
2 A ku ku !!!
3 A ku ku !!!
4 A ku ku !!!}]]
  # + tworzymy mail prosty ...

#mime::finalize $m1

set pass ???
err smtp::sendmessage $m1 -servers {smtp.amu.edu.pl} -ports {587} \
  -username mhanckow -password $pass \
  -header {From "mhanckow@amu.edu.pl";} \
  -header {To "mhanckow@amu.edu.pl";} \
  -header {Subject "qqq5"} \
  -debug 1
  # + to dziala

if 0 {
# "-debug 1"; z pakietem tls1.5 ten przyklad nie dziala...
<-- 220 mx1.wmi.amu.edu.pl ESMTP Postfix (Debian/GNU)
--> EHLO b3-34.sci.wmi.amu.edu.pl (wait upto 300 seconds)
<-- 250-mx1.wmi.amu.edu.pl
<-- 250-PIPELINING
<-- 250-SIZE 20480000
<-- 250-VRFY
<-- 250-ETRN
<-- 250-STARTTLS
<-- 250-ENHANCEDSTATUSCODES
<-- 250-8BITMIME
<-- 250 DSN
--> STARTTLS (wait upto 300 seconds)
<-- 220 2.0.0 Ready to start TLS
--> EHLO b3-34.sci.wmi.amu.edu.pl (wait upto 300 seconds)
    ... premature end-of-file from server ...
}

SASL::mechanisms
  #% NTLM OTP DIGEST-MD5 CRAM-MD5 LOGIN PLAIN ANONYMOUS
  # + pakiet smtp uzywa SASL do uwierzytelniania...
  #  mam nadzieje ze te mechnizmy sa wystarczajace...

set pass ???
err smtp::sendmessage $m1 -servers {smtp.gmail.com} -ports {587} \
  -username mhanckow -password $pass \
  -header {From "mhanckow@gmail.com";} \
  -header {To "mhanckow@amu.edu.pl";} \
  -header {Subject "qqq12"} \
  -debug 1
  # + dziala ok, ale we From musi byc gmail.com !!!



# ...











exit

uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...