Expect + őŐűŰ
Egy (egyelőre kezdetleges állapotban lévő) automatikus mail küldést csináltam expect segítségével ami nagyjából működik is.
Azért csak nagyjából, mert néhány ékezetes karaktert nem akar átvinni, helyette '?'-t ír ki.
A script:
expect << EOF
set timeout 10
spawn telnet $smtpaddress $smtpport
expect "SMTP"
send "ehlo teszt\r"
expect "AUTH"
send "auth login\r"
expect "334"
send "$maile\r"
expect "334"
send "$mailpasswd\n"
expect "235"
send "mail from: <$mailfrom>\r"
expect "250"
send "rcpt to: <$mailto>\r"
expect "250"
send "data\r"
expect "354"
send "$text\r"
expect ""
send ".\r"
expect "250"
send "quit\r"
exit
EOF
A $text tartalmazza a szöveget amiben természetesen benne vannak az őŐűŰ karakterek is. Minden más bash és perl script tökéletesen kezeli az ékezeteket, ez viszont nem.
A teszt szöveg tartalma:
árvíztűrő tükörfúrógép
áéíóöőúüűÁÉÍÓÖŐÚÜŰ
És ami átmegy mailban:
árvízt?r? t?körfúrógép
áéíóö?úü?ÁÉÍÓÖ?ÚÜ?
Ami még fontos, hogy ha olyan helyre írom be az expecten belül a szöveget ahol lehet látni (pl a loginnál), akkor már eleve ott is '?' van.
Help pls!
- Tovább (Expect + őŐűŰ)
- 1340 megtekintés