напісаць каляровы шрыфт у электроннай пошце з дапамогай Tcl

Аўтаматызаваць сеткавай камутатар з выкарыстаннем Tcl і чакаць сцэнарыяў на маёй Fedora 12. Выпрабаваныя часопісы і вынік з ўкладаннямі адпраўляюцца на электронную паштовую скрыню (офіс 365) -browser і перспектыўныя рэжымы.

Я хацеў бы ведаць, калі ёсць спосаб, каб зрабіць каляровыя шрыфты з'яўляюцца ў маёй электроннай пошце, выкарыстоўваючы TCL або скрыпт.

Напрыклад, у дакладзе, накіраваным па электроннай пошце, тэкст «Прайдзіце» павінен з'явіцца ў Грын-тлустым шрыфтам і «Failed» павінен з'явіцца ў чырвоных паўтлусты. Ці будзе tput быць карысным? Калі ласка, дапамажыце. Загадзя дзякую.

3
Любыя каментары пра тое, як htmlgen, exmh або xmlgen могуць быць карыснымі? Я не выкарыстоўваю Tk, хоць ..
дададзена аўтар code_trot, крыніца
Любыя каментары пра тое, як htmlgen, exmh або xmlgen могуць быць карыснымі? Я не выкарыстоўваю Tk, хоць ..
дададзена аўтар code_trot, крыніца
Любыя каментары пра тое, як htmlgen, exmh або xmlgen могуць быць карыснымі? Я не выкарыстоўваю Tk, хоць ..
дададзена аўтар code_trot, крыніца
Любыя каментары пра тое, як htmlgen, exmh або xmlgen могуць быць карыснымі? Я не выкарыстоўваю Tk, хоць ..
дададзена аўтар code_trot, крыніца

12 адказы

Вы просіце дзве розныя рэчы: колер тэксту ў электроннай пошце і колер тэксту ў абалонцы. Астатнія ўжо адказаць на электронную частку, таму я хацеў бы закрануць частка абалонкі. Для вываду на тэрмінал, я выкарыстоўваю Term :: :: адправіць ANSI пакет. Вось прыклад:

package require cmdline
package require term::ansi::send

proc color_puts {args} {
    # Parse the command line args
    set options {
        {bg.arg default "The background color"}
        {fg.arg default "The foreground color"}
        {nonewline "" "no ending new line"}
        {channel.arg stdout "Which channel to write to"}
    }
    array set opt [cmdline::getoptions args $options]

    # Set the foreground/background colors
    ::term::ansi::send::sda_fg$opt(fg)
    ::term::ansi::send::sda_bg$opt(bg)

    # puts
    if {$opt(nonewline)} {
        puts -nonewline $opt(channel) [lindex $args end]
    } else {
        puts $opt(channel) [lindex $args end]
    }

    # Reset the foreground/background colors to default
    ::term::ansi::send::sda_fgdefault
    ::term::ansi::send::sda_bgdefault
}

#
# Test
#

puts "\n"
color_puts -nonewline -fg magenta "TEST"
color_puts -nonewline -fg blue    " RESULTS"
puts "\n"

color_puts -fg green "test_001 Up/down direction movements passed"
color_puts -fg red "test_002 Left/right direction movements failed"

абмеркаванне

  • Адпаведныя сцягі color_puts з'яўляюцца -bg для колеру фону, -fg для колеру пярэдняга плану, -nonewline </код > для падаўлення новага радка высновы знакаў, а канальнае , каб накіраваць выснова ў файл.
  • Даступныя колеру: чорны, сіні, чырвоны, зялёны, жоўты, пурпурны, блакітны, белы, і па змаўчанні. Для атрымання дадатковай інфармацыі, глядзіце ўверх Term :: :: адправіць ANSI пакет.
3
дададзена
Я правяраў, ці ёсць спосаб кадавання з абалонкай, мне вельмі шкада, калі прысуд быў дэзінфармацыя. Дзякуй.
дададзена аўтар code_trot, крыніца

Вы просіце дзве розныя рэчы: колер тэксту ў электроннай пошце і колер тэксту ў абалонцы. Астатнія ўжо адказаць на электронную частку, таму я хацеў бы закрануць частка абалонкі. Для вываду на тэрмінал, я выкарыстоўваю Term :: :: адправіць ANSI пакет. Вось прыклад:

package require cmdline
package require term::ansi::send

proc color_puts {args} {
    # Parse the command line args
    set options {
        {bg.arg default "The background color"}
        {fg.arg default "The foreground color"}
        {nonewline "" "no ending new line"}
        {channel.arg stdout "Which channel to write to"}
    }
    array set opt [cmdline::getoptions args $options]

    # Set the foreground/background colors
    ::term::ansi::send::sda_fg$opt(fg)
    ::term::ansi::send::sda_bg$opt(bg)

    # puts
    if {$opt(nonewline)} {
        puts -nonewline $opt(channel) [lindex $args end]
    } else {
        puts $opt(channel) [lindex $args end]
    }

    # Reset the foreground/background colors to default
    ::term::ansi::send::sda_fgdefault
    ::term::ansi::send::sda_bgdefault
}

#
# Test
#

puts "\n"
color_puts -nonewline -fg magenta "TEST"
color_puts -nonewline -fg blue    " RESULTS"
puts "\n"

color_puts -fg green "test_001 Up/down direction movements passed"
color_puts -fg red "test_002 Left/right direction movements failed"

абмеркаванне

  • Адпаведныя сцягі color_puts з'яўляюцца -bg для колеру фону, -fg для колеру пярэдняга плану, -nonewline </код > для падаўлення новага радка высновы знакаў, а канальнае , каб накіраваць выснова ў файл.
  • Даступныя колеру: чорны, сіні, чырвоны, зялёны, жоўты, пурпурны, блакітны, белы, і па змаўчанні. Для атрымання дадатковай інфармацыі, глядзіце ўверх Term :: :: адправіць ANSI пакет.
3
дададзена
Я правяраў, ці ёсць спосаб кадавання з абалонкай, мне вельмі шкада, калі прысуд быў дэзінфармацыя. Дзякуй.
дададзена аўтар code_trot, крыніца

Вы просіце дзве розныя рэчы: колер тэксту ў электроннай пошце і колер тэксту ў абалонцы. Астатнія ўжо адказаць на электронную частку, таму я хацеў бы закрануць частка абалонкі. Для вываду на тэрмінал, я выкарыстоўваю Term :: :: адправіць ANSI пакет. Вось прыклад:

package require cmdline
package require term::ansi::send

proc color_puts {args} {
    # Parse the command line args
    set options {
        {bg.arg default "The background color"}
        {fg.arg default "The foreground color"}
        {nonewline "" "no ending new line"}
        {channel.arg stdout "Which channel to write to"}
    }
    array set opt [cmdline::getoptions args $options]

    # Set the foreground/background colors
    ::term::ansi::send::sda_fg$opt(fg)
    ::term::ansi::send::sda_bg$opt(bg)

    # puts
    if {$opt(nonewline)} {
        puts -nonewline $opt(channel) [lindex $args end]
    } else {
        puts $opt(channel) [lindex $args end]
    }

    # Reset the foreground/background colors to default
    ::term::ansi::send::sda_fgdefault
    ::term::ansi::send::sda_bgdefault
}

#
# Test
#

puts "\n"
color_puts -nonewline -fg magenta "TEST"
color_puts -nonewline -fg blue    " RESULTS"
puts "\n"

color_puts -fg green "test_001 Up/down direction movements passed"
color_puts -fg red "test_002 Left/right direction movements failed"

абмеркаванне

  • Адпаведныя сцягі color_puts з'яўляюцца -bg для колеру фону, -fg для колеру пярэдняга плану, -nonewline </код > для падаўлення новага радка высновы знакаў, а канальнае , каб накіраваць выснова ў файл.
  • Даступныя колеру: чорны, сіні, чырвоны, зялёны, жоўты, пурпурны, блакітны, белы, і па змаўчанні. Для атрымання дадатковай інфармацыі, глядзіце ўверх Term :: :: адправіць ANSI пакет.
3
дададзена
Я правяраў, ці ёсць спосаб кадавання з абалонкай, мне вельмі шкада, калі прысуд быў дэзінфармацыя. Дзякуй.
дададзена аўтар code_trot, крыніца

Вы просіце дзве розныя рэчы: колер тэксту ў электроннай пошце і колер тэксту ў абалонцы. Астатнія ўжо адказаць на электронную частку, таму я хацеў бы закрануць частка абалонкі. Для вываду на тэрмінал, я выкарыстоўваю Term :: :: адправіць ANSI пакет. Вось прыклад:

package require cmdline
package require term::ansi::send

proc color_puts {args} {
    # Parse the command line args
    set options {
        {bg.arg default "The background color"}
        {fg.arg default "The foreground color"}
        {nonewline "" "no ending new line"}
        {channel.arg stdout "Which channel to write to"}
    }
    array set opt [cmdline::getoptions args $options]

    # Set the foreground/background colors
    ::term::ansi::send::sda_fg$opt(fg)
    ::term::ansi::send::sda_bg$opt(bg)

    # puts
    if {$opt(nonewline)} {
        puts -nonewline $opt(channel) [lindex $args end]
    } else {
        puts $opt(channel) [lindex $args end]
    }

    # Reset the foreground/background colors to default
    ::term::ansi::send::sda_fgdefault
    ::term::ansi::send::sda_bgdefault
}

#
# Test
#

puts "\n"
color_puts -nonewline -fg magenta "TEST"
color_puts -nonewline -fg blue    " RESULTS"
puts "\n"

color_puts -fg green "test_001 Up/down direction movements passed"
color_puts -fg red "test_002 Left/right direction movements failed"

абмеркаванне

  • Адпаведныя сцягі color_puts з'яўляюцца -bg для колеру фону, -fg для колеру пярэдняга плану, -nonewline </код > для падаўлення новага радка высновы знакаў, а канальнае , каб накіраваць выснова ў файл.
  • Даступныя колеру: чорны, сіні, чырвоны, зялёны, жоўты, пурпурны, блакітны, белы, і па змаўчанні. Для атрымання дадатковай інфармацыі, глядзіце ўверх Term :: :: адправіць ANSI пакет.
3
дададзена
Я правяраў, ці ёсць спосаб кадавання з абалонкай, мне вельмі шкада, калі прысуд быў дэзінфармацыя. Дзякуй.
дададзена аўтар code_trot, крыніца

Проста выкарыстоўвайце HTML электроннай пошты (з кодам <> Content-Type: тэкст/html загалоўка) і ўбудаванага CSS размаляваць яго.

Passed should be


Тут дыяпазон забяспечвае стайлінг
<�Код> шрыфта прадастаўляе Адкат, калі працягласць не працуе. Некаторыя паштовыя кліенты могуць пазбавіць гэтыя убудаваныя стылі.

3
дададзена
Звярніце ўвагу, што адпраўка HTML толькі лісты незадаволенасці. Калі вы не адправіць пошту на сябе, то адправіць шматслаёвую/альтэрнатыву як з тэкставым/html і тэкст/просты версіі. мім пакет з Tcllib можа дапамагчы вам у гэтым.
дададзена аўтар Johannes Kuhn, крыніца
@johannes Калі ласка, скажыце мне, калі гэта правільна. <�Папярэдне> ўсталяваць mime_msg [мім :: ініцыялізаваць -канонический "тэкст/html" "шматчастковы/альтэрнатывы EML" -Кодирование "US-ASCII" -string $ цела] <�р> Здаў Не атрымалася

дададзена аўтар code_trot, крыніца

Проста выкарыстоўвайце HTML электроннай пошты (з кодам <> Content-Type: тэкст/html загалоўка) і ўбудаванага CSS размаляваць яго.

Passed should be


Тут дыяпазон забяспечвае стайлінг
<�Код> шрыфта прадастаўляе Адкат, калі працягласць не працуе. Некаторыя паштовыя кліенты могуць пазбавіць гэтыя убудаваныя стылі.

3
дададзена
Звярніце ўвагу, што адпраўка HTML толькі лісты незадаволенасці. Калі вы не адправіць пошту на сябе, то адправіць шматслаёвую/альтэрнатыву як з тэкставым/html і тэкст/просты версіі. мім пакет з Tcllib можа дапамагчы вам у гэтым.
дададзена аўтар Johannes Kuhn, крыніца
@johannes Калі ласка, скажыце мне, калі гэта правільна. <�Папярэдне> ўсталяваць mime_msg [мім :: ініцыялізаваць -канонический "тэкст/html" "шматчастковы/альтэрнатывы EML" -Кодирование "US-ASCII" -string $ цела] <�р> Здаў Не атрымалася

дададзена аўтар code_trot, крыніца

Проста выкарыстоўвайце HTML электроннай пошты (з кодам <> Content-Type: тэкст/html загалоўка) і ўбудаванага CSS размаляваць яго.

Passed should be


Тут дыяпазон забяспечвае стайлінг
<�Код> шрыфта прадастаўляе Адкат, калі працягласць не працуе. Некаторыя паштовыя кліенты могуць пазбавіць гэтыя убудаваныя стылі.

3
дададзена
Звярніце ўвагу, што адпраўка HTML толькі лісты незадаволенасці. Калі вы не адправіць пошту на сябе, то адправіць шматслаёвую/альтэрнатыву як з тэкставым/html і тэкст/просты версіі. мім пакет з Tcllib можа дапамагчы вам у гэтым.
дададзена аўтар Johannes Kuhn, крыніца
@johannes Калі ласка, скажыце мне, калі гэта правільна. <�Папярэдне> ўсталяваць mime_msg [мім :: ініцыялізаваць -канонический "тэкст/html" "шматчастковы/альтэрнатывы EML" -Кодирование "US-ASCII" -string $ цела] <�р> Здаў Не атрымалася

дададзена аўтар code_trot, крыніца

Проста выкарыстоўвайце HTML электроннай пошты (з кодам <> Content-Type: тэкст/html загалоўка) і ўбудаванага CSS размаляваць яго.

Passed should be


Тут дыяпазон забяспечвае стайлінг
<�Код> шрыфта прадастаўляе Адкат, калі працягласць не працуе. Некаторыя паштовыя кліенты могуць пазбавіць гэтыя убудаваныя стылі.

3
дададзена
Звярніце ўвагу, што адпраўка HTML толькі лісты незадаволенасці. Калі вы не адправіць пошту на сябе, то адправіць шматслаёвую/альтэрнатыву як з тэкставым/html і тэкст/просты версіі. мім пакет з Tcllib можа дапамагчы вам у гэтым.
дададзена аўтар Johannes Kuhn, крыніца
@johannes Калі ласка, скажыце мне, калі гэта правільна. <�Папярэдне> ўсталяваць mime_msg [мім :: ініцыялізаваць -канонический "тэкст/html" "шматчастковы/альтэрнатывы EML" -Кодирование "US-ASCII" -string $ цела] <�р> Здаў Не атрымалася

дададзена аўтар code_trot, крыніца

Такім чынам, вось просты скрыпт, які я выкарыстоўваю для адпраўкі пошты (магчыма, спатрэбіцца прадаставіць імя карыстальніка/пароль для SMTP :: SendMessage )

set textpart [::mime::initialize -canonical text/plain -string {Hello World}]
set htmlpart [::mime::initialize -canonical text/html -string  {Hello World}]
set tok [::mime::initialize -canonical multipart/alternative -parts [list $textpart $htmlpart] -header {From [email protected]}]
::mime::setheader $tok Subject {Hello World}
::smtp::sendmessage $tok -servers smtp.example.com -recipients [email protected] -originator [email protected]
::mime::finalize $tok -subordinates all

Некаторыя заўвагі:

  • Вы можаце выкарыстоўваць розныя паведамленні для HTML і звычайнага тэксту, але вы павінны ўключаць у сябе ўсю інфармацыю ў абедзвюх. Кліент звычайна выбірае лепшы фармат, які можа адлюстроўваць.
  • Калі вы хочаце адправіць ўкладанні, вы павінны дадаць іншы шматчастковы/змешаны (пабудаваць яго як шматчастковы/альтэрнатыва ), то першая яго частка павінна быць паведамленне (ваш шматчастковы/альтэрнатыва ) іншыя часткі ўкладанні.
  • У залежнасці ад некаторага больш ці менш няяснымі абставіны , SMTP, і пакет мім выкарыстоўваць некаторыя недапушчальныя сістэмы па змаўчанні (як імя карыстальніка з прабелам). Калі гэта адбудзецца, вы павінны прадаставіць дадатковую інфармацыю для аднаго або некалькіх з гэтай каманды.
2
дададзена
мім :: ініцыялізаваць -канонический тэкст/html шматчастковы/змешанага -Кодирование base64 -string $ цела] набор цела «<�памеру шрыфта = 12> <�колер шрыфта = зялёны> Здаў »выдатна працуе для мацавання адпраўкі
дададзена аўтар code_trot, крыніца

Такім чынам, вось просты скрыпт, які я выкарыстоўваю для адпраўкі пошты (магчыма, спатрэбіцца прадаставіць імя карыстальніка/пароль для SMTP :: SendMessage )

set textpart [::mime::initialize -canonical text/plain -string {Hello World}]
set htmlpart [::mime::initialize -canonical text/html -string  {Hello World}]
set tok [::mime::initialize -canonical multipart/alternative -parts [list $textpart $htmlpart] -header {From [email protected]}]
::mime::setheader $tok Subject {Hello World}
::smtp::sendmessage $tok -servers smtp.example.com -recipients [email protected] -originator [email protected]
::mime::finalize $tok -subordinates all

Некаторыя заўвагі:

  • Вы можаце выкарыстоўваць розныя паведамленні для HTML і звычайнага тэксту, але вы павінны ўключаць у сябе ўсю інфармацыю ў абедзвюх. Кліент звычайна выбірае лепшы фармат, які можа адлюстроўваць.
  • Калі вы хочаце адправіць ўкладанні, вы павінны дадаць іншы шматчастковы/змешаны (пабудаваць яго як шматчастковы/альтэрнатыва ), то першая яго частка павінна быць паведамленне (ваш шматчастковы/альтэрнатыва ) іншыя часткі ўкладанні.
  • У залежнасці ад некаторага больш ці менш няяснымі абставіны , SMTP, і пакет мім выкарыстоўваць некаторыя недапушчальныя сістэмы па змаўчанні (як імя карыстальніка з прабелам). Калі гэта адбудзецца, вы павінны прадаставіць дадатковую інфармацыю для аднаго або некалькіх з гэтай каманды.
2
дададзена
мім :: ініцыялізаваць -канонический тэкст/html шматчастковы/змешанага -Кодирование base64 -string $ цела] набор цела «<�памеру шрыфта = 12> <�колер шрыфта = зялёны> Здаў »выдатна працуе для мацавання адпраўкі
дададзена аўтар code_trot, крыніца

Такім чынам, вось просты скрыпт, які я выкарыстоўваю для адпраўкі пошты (магчыма, спатрэбіцца прадаставіць імя карыстальніка/пароль для SMTP :: SendMessage )

set textpart [::mime::initialize -canonical text/plain -string {Hello World}]
set htmlpart [::mime::initialize -canonical text/html -string  {Hello World}]
set tok [::mime::initialize -canonical multipart/alternative -parts [list $textpart $htmlpart] -header {From [email protected]}]
::mime::setheader $tok Subject {Hello World}
::smtp::sendmessage $tok -servers smtp.example.com -recipients [email protected] -originator [email protected]
::mime::finalize $tok -subordinates all

Некаторыя заўвагі:

  • Вы можаце выкарыстоўваць розныя паведамленні для HTML і звычайнага тэксту, але вы павінны ўключаць у сябе ўсю інфармацыю ў абедзвюх. Кліент звычайна выбірае лепшы фармат, які можа адлюстроўваць.
  • Калі вы хочаце адправіць ўкладанні, вы павінны дадаць іншы шматчастковы/змешаны (пабудаваць яго як шматчастковы/альтэрнатыва ), то першая яго частка павінна быць паведамленне (ваш шматчастковы/альтэрнатыва ) іншыя часткі ўкладанні.
  • У залежнасці ад некаторага больш ці менш няяснымі абставіны , SMTP, і пакет мім выкарыстоўваць некаторыя недапушчальныя сістэмы па змаўчанні (як імя карыстальніка з прабелам). Калі гэта адбудзецца, вы павінны прадаставіць дадатковую інфармацыю для аднаго або некалькіх з гэтай каманды.
2
дададзена
мім :: ініцыялізаваць -канонический тэкст/html шматчастковы/змешанага -Кодирование base64 -string $ цела] набор цела «<�памеру шрыфта = 12> <�колер шрыфта = зялёны> Здаў »выдатна працуе для мацавання адпраўкі
дададзена аўтар code_trot, крыніца

Такім чынам, вось просты скрыпт, які я выкарыстоўваю для адпраўкі пошты (магчыма, спатрэбіцца прадаставіць імя карыстальніка/пароль для SMTP :: SendMessage )

set textpart [::mime::initialize -canonical text/plain -string {Hello World}]
set htmlpart [::mime::initialize -canonical text/html -string  {Hello World}]
set tok [::mime::initialize -canonical multipart/alternative -parts [list $textpart $htmlpart] -header {From [email protected]}]
::mime::setheader $tok Subject {Hello World}
::smtp::sendmessage $tok -servers smtp.example.com -recipients [email protected] -originator [email protected]
::mime::finalize $tok -subordinates all

Некаторыя заўвагі:

  • Вы можаце выкарыстоўваць розныя паведамленні для HTML і звычайнага тэксту, але вы павінны ўключаць у сябе ўсю інфармацыю ў абедзвюх. Кліент звычайна выбірае лепшы фармат, які можа адлюстроўваць.
  • Калі вы хочаце адправіць ўкладанні, вы павінны дадаць іншы шматчастковы/змешаны (пабудаваць яго як шматчастковы/альтэрнатыва ), то першая яго частка павінна быць паведамленне (ваш шматчастковы/альтэрнатыва ) іншыя часткі ўкладанні.
  • У залежнасці ад некаторага больш ці менш няяснымі абставіны , SMTP, і пакет мім выкарыстоўваць некаторыя недапушчальныя сістэмы па змаўчанні (як імя карыстальніка з прабелам). Калі гэта адбудзецца, вы павінны прадаставіць дадатковую інфармацыю для аднаго або некалькіх з гэтай каманды.
2
дададзена
мім :: ініцыялізаваць -канонический тэкст/html шматчастковы/змешанага -Кодирование base64 -string $ цела] набор цела «<�памеру шрыфта = 12> <�колер шрыфта = зялёны> Здаў »выдатна працуе для мацавання адпраўкі
дададзена аўтар code_trot, крыніца