AMail To Russia

"valery_vi" <[email protected]> Sat, 01 Sep 2007 09:23:37 -0000
Newsgroups gmane.comp.windows.autoit.user
Message-ID <[email protected]>
Hi,

This is easy sample of _INetMail in case of 
Russian UTF8 characters:

#include <INet.au3>
$To = '[email protected]'
$Subject = 'Ñðî÷íîå ñîîáùåíèå!'
$Body = 'Äîáðûé äåíü!' & @CrLf
$Body &= 'Ïðèâåòñòâóþ Âàñ. ' & @CrLf
$Body &= 'Ñ óâàæåíèåì, ' & @CrLf
$Body &= 'Âàø ïî÷èòàòåëü'
_INetMail($Address, TextToUTF8($Subject), TextToUTF8($Body))

;====================
; Russian letters!
func TextToUTF8($t)
local $r
 $r = ''
 $s = StringSplit($t,'')
 for $i = 1 to $s[0]
   $ch = $s[$i]
   $r &= CharToUTF8($ch)
  next
  return $r
endfunc

;====================
;1251->UTF-8 (partially!)
func CharToUTF8($ch)
local $r
  $r = ''
  $c = Asc($ch)
  if $c < Dec('C0') then 
   $r = Chr($c)
  elseif $c < Dec('F0') then 
   $c = Hex($c-Dec('C0') + Dec('D090'),4)
   $r  = Chr(Dec(StringLeft($c,2))) & Chr(Dec(StringRight($c,2)))
  else
   $c = Hex($c-Dec('F0') + Dec('D180'),4)
   $r  = Chr(Dec(StringLeft($c,2))) & Chr(Dec(StringRight($c,2)))
  endif
  return $r
endfunc

It works fine for my Thunderbird.
Funcs TextToUTF8 and CharToUTF8 are taken from my ADot.au3 script.

Enjoy,
Valery