Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как послать письмо с html body + attachement / 4 сообщений из 4, страница 1 из 1
15.04.2017, 00:39
    #39439021
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как послать письмо с html body + attachement
имеется бинарный файл и тело письма:
file.htmlSubject: test Html
To: me@gmail.com
Content
-Type: text/html

<html><body>
<b>Hello</b> <i>world</i>
</body></html>

Делаю:
$ mailx -t -a file.zip < file.html
Ignoring header field "Content-Type: text/html"

ПОЧЕМУ???
Как убедить mailx не игнорировать дополнительные заголовки?
...
Рейтинг: 0 / 0
16.04.2017, 12:14
    #39439287
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как послать письмо с html body + attachement
Забыто Mime-Version?
...
Рейтинг: 0 / 0
17.04.2017, 23:23
    #39439890
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как послать письмо с html body + attachement
Скачал исходники mailx.... впечатлился:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
	while ((lc = gethfield(fp, &linebuf, &linesize, lc, &colon)) >= 0) {
		if ((value = thisfield(linebuf, "to")) != NULL) {
			seenfields++;
			hq->h_to = checkaddrs(cat(hq->h_to,
					sextract(value, GTO|GFULL)));
		} else if ((value = thisfield(linebuf, "cc")) != NULL) {
			seenfields++;
			hq->h_cc = checkaddrs(cat(hq->h_cc,
					sextract(value, GCC|GFULL)));
		} else if ((value = thisfield(linebuf, "bcc")) != NULL) {
			seenfields++;
			hq->h_bcc = checkaddrs(cat(hq->h_bcc,
					sextract(value, GBCC|GFULL)));
		} else if ((value = thisfield(linebuf, "from")) != NULL) {
			seenfields++;
			hq->h_from = checkaddrs(cat(hq->h_from,
					sextract(value, GEXTRA|GFULL)));
		} else if ((value = thisfield(linebuf, "reply-to")) != NULL) {
			seenfields++;
			hq->h_replyto = checkaddrs(cat(hq->h_replyto,
					sextract(value, GEXTRA|GFULL)));
		} else if ((value = thisfield(linebuf, "sender")) != NULL) {
			seenfields++;
			hq->h_sender = checkaddrs(cat(hq->h_sender,
					sextract(value, GEXTRA|GFULL)));
		} else if ((value = thisfield(linebuf,
						"organization")) != NULL) {
			seenfields++;
			for (cp = value; blankchar(*cp & 0377); cp++);
			hq->h_organization = hq->h_organization ?
				save2str(hq->h_organization, cp) :
				savestr(cp);
		} else if ((value = thisfield(linebuf, "subject")) != NULL ||
				(value = thisfield(linebuf, "subj")) != NULL) {
			seenfields++;
			for (cp = value; blankchar(*cp & 0377); cp++);
			hq->h_subject = hq->h_subject ?
				save2str(hq->h_subject, cp) :
				savestr(cp);
		} else
			fprintf(stderr, catgets(catd, CATSET, 266,
					"Ignoring header field \"%s\"\n"),
					linebuf);
	}
	



Прийдется все-же делать ручной uuencode бинарному файлу и отадавать текст письма sendmail'у.
... А mailx так симпатично выглядел по описанию.
...
Рейтинг: 0 / 0
18.04.2017, 00:14
    #39439900
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как послать письмо с html body + attachement
White OwlПрийдется все-же делать ручной uuencode бинарному файлу и отадавать текст письма sendmail'у.
... А mailx так симпатично выглядел по описанию.Посмотрите на mutt - аттачит файлы без проблем, хтмл тоже умеет. В свое время искал консольную отправлялку писем с вложением - на нём и остановился.
Использую так обычно:
Код: sql
1.
echo "<html>тут хтмл-тело письма</html>" | mutt -a /path/to/attach/file -s "Тема письма" -e "set content_type=text/html" -- mailto@test.ru

Впрочем, тело письма можно брать из файла.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как послать письмо с html body + attachement / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]