Отправить изображение в теле письма с помощью любой из почтовых утилит в Linux

ОТРАСИТЬСЯ К ВАШЕМУ ИЗМЕНЕНИЮ:

Я не заметил изменения вашего вопроса до сих пор. Как написано сейчас, вопрос совсем другой, чем когда я впервые ответил на него. зеркало , которое вы описываете, на самом деле не в спецификации, так как это довольно опасный и уродливый взлом, известный как формат раздела гибридно-MBR . В этом вопросе теперь много больше смысла - на самом деле, это совсем не глупо.

Основное различие между диском GPT и гибридным MBR-диском заключается в том, что MBR GPT описывает весь диск как один раздел MBR, а гибридный MBR попытается застраховаться ради (крайне уродливой) совместимости и описать только область, охватываемую первыми четырьмя разделами. Проблема в этой ситуации состоит в том, что попытки гибридной MBR совместимости полностью сводят на нет цель защитной MBR GPT в первую очередь .

Как указано ниже, Защитная MBR должна защищать GPT-диск от глупых приложений, но если часть диска окажется для них нераспределенной, все ставки будут выключенный. Не используйте гибридную MBR, если это вообще может помочь - что, если на Mac, означает не использовать конфигурацию по умолчанию Bootcamp .

В общем, если вам нужен совет по вопросам, связанным с EFI / GPT, идите никуда (за исключением, может быть, небольшого объезда здесь сначала), кроме rodsbooks.com .


гм ...

Это (раньше было) своего рода глупый вопрос - я думаю, вы спрашиваете, как разбить GPT-диск без Защитной MBR . Ответить на этот вопрос вы не можете, потому что GPT - это стандарт формата таблицы разделов диска, и этот стандарт определяет защитный MBR, расположенный в заголовке диска. Видите?

enter image description here

Что вы можете сделать, так это стереть MBR или перезаписать ее - это не помешает большинству GPT-приложений получить доступ к данным раздела, но причина это включено в спецификацию, чтобы предотвратить зависание приложений, не поддерживающих -GPT, с таблицей разделов. Он предотвращает это, просто сообщая, что весь диск уже является одним разделом типа MBR, и никто не должен пытаться записать на него файловую систему, потому что это уже выделенное пространство. Удаление MBR снимает эту защиту.

В любом случае, вот как:

  • Это создает файл 4G ./ img , полный NUL ...

      dev / zero> ./ img \ {{1} } dd ibs = 4k obs = 4kx1k count = 1kx1k 
     

     1048576 + 0 записей в 
    1024 + 0 исходящих записей 
    4294967296 байт (4,3 ГБ) скопировано, 3,38218 с, 1,3 ГБ / с 
     
  • Записывает в него таблицу разделов - включая ведущую Защитную MBR .

    • За каждым аргументом printf следует строка \ n ewline и записывается на стандартный ввод gdisk .
    • gdisk интерпретирует команды, как если бы они были введены на нем в интерактивном режиме, и действует соответствующим образом, создавая две записи раздела GPT в таблице разделов GUID , которые он записывает в заголовок нашего . / img файл.
    • Весь вывод терминала сбрасывается в > / dev / null (потому что это много, и мы все равно посмотрим на результаты) .

       printf% s \\ n o y n 1 '' + 750M ef00 \ 
      n 2 '' '' '' '' \ 
      w y | > / dev / null \ 
      gdisk ./img 
       
  • Получает pr четырехколоночное форматированное представление строк , сопровождаемых смещением ] в первых 2К из ./ img .

     <. img dd count="4" pr>

     4 + 0 записей в 
    4 + 0 записей на выходе 
    2048 байт (2,0 кБ) скопировано, 7.1933e-05 с, 28,5 МБ / с 
     

      451 * 1033 K 1094 t 1212 n 
    510 U 1037> 1096 e 1214 u 
    512 EFI PART 1039; @fY 1098 m 1216 x 
    524 \ 1044 30 1153 = 1218 
    529 P 1047 L 1158 rG 1220 f 
    531 (1050 E 1161 y = i 1222 i 
    552 "1065 w 1165 G} 1224 л 
    568 V 1080 E 1170 $ Ub 1226 e 
    573 G 1082 F 1175 N 1228 s 
    575 G 1084 I 1178 C 1230 лет 
    577 y 1086 1180 b 1232 s 
    583 G 1088 S 1185 x 1234 t 
    602 Ml 1090 y 1208 L 1236 e 
    1024 (s * 1092 s 1210 i 1238 м {{ 1}} 

Вы можете видеть, где заканчивается MBR, да? Байт 512.

  • Это записывает 512 пробелов вместо первых 512 байтов в ./ img .

      ./ img> & 0 printf% 0512s 
     

А теперь о плодах нашего труда.

  • Это интерактивный запуск gdisk на ./ img .

     gdisk ./img
    

    GPT fdisk (gdisk) версии 1.0.0 
     
    Сканирование таблицы разделов: 
    MBR: отсутствует 
    BSD: отсутствует 
    APM: отсутствует 
    GPT: присутствует 
     
    Обнаружен действительный GPT с поврежденной MBR; с помощью GPT и запишет новую 
    защитную MBR при сохранении. 
     

     Команда (? для справки): p 
     

     Disk ./img: 8388608 секторов, 4,0 ГиБ 
    Размер логического сектора: 512 байт 
    Идентификатор диска (GUID): 0528394A-9A2C-423B-9FDE-592CB74B17B3 
    Таблица разделов вмещает до 128 записей 
    Первое использование сектор 34,последний используемый сектор - 8388574 
    Разделы будут выровнены по границам из 2048 секторов 
    Общее свободное пространство - 2014 секторов (1007,0 КиБ) 
     
    Число Начало (сектор) Конец (сектор) Код размера Название 
    1 2048 1538047 750,0 МиБ EF00 Система EFI 
    2 1538048 8388574 3,3 ГиБ 8300 Файловая система Linux 
     
1
05.06.2018, 14:37
3 ответа

Para que la imagen se muestre en la línea -,debe codificarse como un objeto MIME válido con un encabezado Content-Disposition: inlineen él.

El comando mpackpuede hacer esto.

Intenta enviar un correo electrónico como este:

mpack -s "TEST mail" -c image/jpeg download.JPEG <MASKED>@example.com

O si desea enviar el resultado a un archivo en lugar de enviarlo directamente:

mpack -s "TEST mail" -c image/jpeg download.JPEG -o email-with-image.txt

Luego puede enviarlo más tarde, p.:

mailx <MASKED>@example.com < email-with-image.txt

Si desea agregar texto a su mensaje antes de la imagen, escríbalo en un archivo y agregue una opción -d text-before.txtal comando mpack. Para agregar texto después de la imagen, solo debe agregarlo al archivo producido mpack -.

3
27.01.2020, 23:43

Вы можете использовать приведенную ниже команду.

Команда

mutt -e "set content_type=text/html" -a lb.png -s "Test Mail" user@example.com < mail.html

mail.htm

<img src="cid:lb.png" />

Ссылка:Отображение прикрепленного изображения в теле письма

1
27.01.2020, 23:43

sendimagemail — это 100-строчная оболочка bash дляsendmail(msmtp реализации ), которая поддерживает отправку нескольких встроенных изображений jpg/png/gif и текста в службы gmail/outlook/qq/163. Вот инструкция.

sendimagemail dst [image...] [--cc=''] [--bcc=''] [--subject='20210315 00:33:52'] [--body=''] [--dry] -- [sendmail-option]

# send text/html to one or more residents, with Cc and Bcc
sendimagemail bilabila@qq.com --body='Hi bilabila' --subject='Hi bilabila'
sendimagemail bilabila@qq.com --body='<div style=color:lightslategray>Hi bilabila<div/>'
sendimagemail 'qq bilabila@qq.com, google bilabila@gmail.com' --cc='163 bilabila@163.com' --bcc='ms bilabila@live.com'

# send one or more images
sendimagemail bilabila@qq.com a.jpg
sendimagemail bilabila@qq.com --body='<div>images</div>' a.jpg b.png c.gif

# send with non-default account
sendimagemail bilabila@qq.com a.jpg -- -a google
sendimagemail bilabila@qq.com a.jpg -- --from=bilabila@qq.com --host=smtp.qq.com --user=bilabila --passwordeval='echo TOKEN' --port 587 --auth --tls
sendimagemail bilabila@qq.com a.jpg -- --from=bilabila@163.com --host=smtp.163.com --user=bilabila@163.com --passwordeval='echo TOKEN' --port 25 --auth --tls
sendimagemail bilabila@qq.com a.jpg -- --from=bilabila@gmail.com --host=smtp.gmail.com --user=bilabila@gmail.com --passwordeval='echo TOKEN' --port 587 --auth --tls

# show what would be sent
sendimagemail bilabila@qq.com a.jpg --dry

0
14.03.2021, 15:44

Теги

Похожие вопросы