Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Nano Taboada
Nano Taboada

Codul KornShell (ksh) pentru a trimite atașamente cu mailx și uuencode?

Trebuie să atașez un dosar cu mailx, dar în acest moment nu am succes.

Iată codul meu:

subject="Something happened"
to="[email protected]"
body="Attachment Test"
attachment=/path/to/somefile.csv

uuencode $attachment | mailx -s "$subject" "$to" << EOF

The message is ready to be sent with the following file or link attachments:

somefile.csv

Note: To protect against computer viruses, e-mail programs may prevent
sending or receiving certain types of file attachments.  Check your
e-mail security settings to determine how attachments are handled.

EOF

Orice feedback ar fi foarte apreciat.


Update I have added the attachment var to avoid having to use the path every time.

3 2008-09-18T20:03:13+00:00 2
Programare
scripting
shell
unix
solaris
ksh
Comentarii la întrebare (0)
Thomas Kammeyer
18 septembrie 2008 в 8:33
2008-09-18T20:33:30+00:00
Mai mult
Sursă
Editează
#96616

Ei bine, aici sunt primele câteva probleme pe care le aveți.

  1. Se pare că presupuneți că un client de mail se va ocupa de atasamentul codificat uuencoded fără anteturi. Asta nu se va întâmpla.

  2. Folosiți abuzul de redirecționare I/O: ieșirea uuencode și documentul aici sunt ambele alimentate la mailx,
  3. Utilizați codul uuen: dacă este dată o cale, este doar un nume pentru a da fișierul decodat, nu un nume de fișier de intrare. Oferirea fișierului de două ori va atribui același nume fișierului decodificat ca cel citit. Parametrii -m flag-base64 codifică. Dar acest lucru încă nu va oferi anteturi de atașament pentru mailx.

Esti mult mai bine sa obtii o copie a lui mpack, care va face ceea ce vrei.

Dacă trebuie să faceți acest lucru, puteți face ceva de genul:

cat <

Există o mulțime de alte posibilități ... dar acesta are încă documentul de aici ca în exemplul dvs. și a fost ușor de pe partea de sus a capului meu, și nu există nici un dosar temp implicate.

0
0
Comentarii (0)
Palmin
18 septembrie 2008 в 8:35
2008-09-18T20:35:21+00:00
Mai mult
Sursă
Editează
#96636

Trebuie să concatenați atât textul mesajului dvs., cât și atașamentul uuencoded:

$ subject="Something happened"
$ to="[email protected]"
$ body="Attachment Test"
$ attachment=/path/to/somefile.csv
$
$ cat >msg.txt < The message is ready to be sent with the following file or link attachments:
>
> somefile.csv
>
> Note: To protect against computer viruses, e-mail programs may prevent
> sending or receiving certain types of file attachments.  Check your
> e-mail security settings to determine how attachments are handled.
>
> EOF
$ ( cat msg.txt ; uuencode $attachment somefile.csv) | mailx -s "$subject" "$to"

Există modalități diferite de a furniza textul mesajului, acesta este doar un exemplu care este aproape de întrebarea inițială. Dacă mesajul trebuie reutilizat, este logic să îl stocați într-un fișier și să utilizați acest fișier.

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
RU
© Answer-ID 2021
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire