Всем привет!
в консоли есть очень хорошая команда mail спомощью которой можно отправлять почту
А, можно ли как то указать кодировку в которой будет отправляться почта?
не меняя настройки профиля.
или если команда mail не поддерживает отправку в разных кодировка, может быть
есть легковесный клиент с поддержкой разных кодировок.
или както через скрипт на баше создать поддержку разных кодировок для отправки почты
на ПХП это сделать проще: http://bitprison.net/php_mail_utf-8_subject_and_message
но задачу надо решить через башевские скрипты...
Разная кодировка
есть iconv, так что как-то так:
echo "вася, здравствуй"| iconv -t "koi8-r" | mail vasia@pupkin.ru
в консоли есть очень хорошая команда mail спомощью которой можно отправлять почту
нет такой команды. Это ссылка на какую-то другую программу.
А, можно ли как то указать кодировку в которой будет отправляться почта?
конечно
[console]$ echo "ФФФФФ" | iconv -t cp1251 | mail user@example.net[/console]
или если команда mail не поддерживает отправку в разных кодировка, может быть
есть легковесный клиент с поддержкой разных кодировок.
есть. называется mutt. Там внешний редактор. VIM поддерживает разные кодировки (это редактор).
или както через скрипт на баше создать поддержку разных кодировок для отправки почты
на ПХП это сделать проще: http://bitprison.net/php_mail_utf-8_subject_and_message
но задачу надо решить через башевские скрипты...
какие скрипты? одна команда всего.
ЗЫЖ да, ещё неплохо заголовок указать для mail. Что-бы реципиент знал, что это за кодировка.
Кодировка меняется...но письма приходят без темы письма
echo "вася, здравствуй" | iconv -t "utf8" | mail -s mail@mail.com
а, как теперь тему письма преобразовать
echo "вася, здравствуй" | iconv -t "utf8" | mail -s "тема письма" mail@mail.com
спасибо.
[console]echo "вася, здравствуй" | iconv -t "utf8" | mail -s `echo "тема письма" | iconv -t cp1251` mail@mail.com[/console]
а вообще, изучите структуру письма, составьте самостоятельно заголовок, и отправляйте.
или ещё лучше, освойте mutt.
можно скрипт написать. Что-то вроде
#!/bin/bash
set -e
ENC="cp1251" # кодировка
SUBJ=$(echo "$1" | iconv -t $ENC)
BODY=$(echo "$2" | iconv -t $ENC)
echo "$BODY" | mail -s "$SUBJ" $3
и отправить
[console]$ ./mail2 "тема" "сообщение" user@example.net[/console]
права поставьте
[console]$ chmod +x mail2[/console]
echo "вася, здравствуй" | iconv -t "utf8" | mail -s `echo "тема письма" | iconv -t utf8` mail@mail.com
письма contains invalid character '\320'
хоть и письмо отправляется, но ругается :O
письма contains invalid character '\320'
хоть и письмо отправляется, но ругается
ругается, что неправильный символ
попробуйте скриптом лучше
лучше не `, а $() и в кавычки...
echo "вася, здравствуй" | iconv -t "utf8" | mail -s "$(echo 'тема письма' | iconv -t utf8)" mail@mail.com
так вроде не должен... FIXME
ЗЫ: что ж у вас за суровый терминал не в юникоде?