LinuxForum.Fans
Тема

Разная кодировка

Автор: mitsumotox 10 сообщений 3836 просмотров
#225276

Всем привет!

в консоли есть очень хорошая команда mail спомощью которой можно отправлять почту
А, можно ли как то указать кодировку в которой будет отправляться почта?
не меняя настройки профиля.

или если команда mail не поддерживает отправку в разных кодировка, может быть
есть легковесный клиент с поддержкой разных кодировок.

или както через скрипт на баше создать поддержку разных кодировок для отправки почты

на ПХП это сделать проще: http://bitprison.net/php_mail_utf-8_subject_and_message
но задачу надо решить через башевские скрипты...

#225278

есть iconv, так что как-то так:
echo "вася, здравствуй"| iconv -t "koi8-r" | mail vasia@pupkin.ru

#225280
mitsumotox написал:
в консоли есть очень хорошая команда mail спомощью которой можно отправлять почту

нет такой команды. Это ссылка на какую-то другую программу.

mitsumotox написал:
А, можно ли как то указать кодировку в которой будет отправляться почта?

конечно
[console]$ echo "ФФФФФ" | iconv -t cp1251 | mail user@example.net[/console]

mitsumotox написал:
или если команда mail не поддерживает отправку в разных кодировка, может быть
есть легковесный клиент с поддержкой разных кодировок.

есть. называется mutt. Там внешний редактор. VIM поддерживает разные кодировки (это редактор).

mitsumotox написал:
или както через скрипт на баше создать поддержку разных кодировок для отправки почты
на ПХП это сделать проще: http://bitprison.net/php_mail_utf-8_subject_and_message
но задачу надо решить через башевские скрипты...

какие скрипты? одна команда всего.

#225281

ЗЫЖ да, ещё неплохо заголовок указать для mail. Что-бы реципиент знал, что это за кодировка.

#225287

Кодировка меняется...но письма приходят без темы письма
echo "вася, здравствуй" | iconv -t "utf8" | mail -s mail@mail.com


а, как теперь тему письма преобразовать
echo "вася, здравствуй" | iconv -t "utf8" | mail -s "тема письма" mail@mail.com

спасибо.

#225292

[console]echo "вася, здравствуй" | iconv -t "utf8" | mail -s `echo "тема письма" | iconv -t cp1251` mail@mail.com[/console]
а вообще, изучите структуру письма, составьте самостоятельно заголовок, и отправляйте.
или ещё лучше, освойте mutt.

#225293

можно скрипт написать. Что-то вроде

text
#!/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]

#225305

echo "вася, здравствуй" | iconv -t "utf8" | mail -s `echo "тема письма" | iconv -t utf8` mail@mail.com
письма contains invalid character '\320'

хоть и письмо отправляется, но ругается :O

#225352
mitsumotox написал:
письма contains invalid character '\320'

хоть и письмо отправляется, но ругается

ругается, что неправильный символ
попробуйте скриптом лучше

#225354

лучше не `, а $() и в кавычки...
echo "вася, здравствуй" | iconv -t "utf8" | mail -s "$(echo 'тема письма' | iconv -t utf8)" mail@mail.com
так вроде не должен... FIXME

ЗЫ: что ж у вас за суровый терминал не в юникоде?

Войдите или зарегистрируйтесь, чтобы ответить.