/ / mail command of unix - perl, email, unix

polecenie mailowe unix - perl, email, unix

Używam polecenia mailowego unix w skrypcie perla. Podaję "do", "cc", "podmiot" i "treść" wiadomości. Nie określam adresu od. Skąd pochodzi wybrany adres? Pls pomóż

Odpowiedzi:

3 dla odpowiedzi № 1

Istnieją przenośne biblioteki do obsługi poczty e-mail, takie jak daxim i David W, ale jeśli chcesz szybko naprawić, działa to pod Linuksem, jeśli mail polecenie używa bsd-mailx (jak na moim komputerze) ...

#!/usr/bin/env perl

$BODY = "Hello self";
$RECIPIENT = "destination@email.local";
$FROM = "mike@localhost";
$SUBJECT = "some subject here";
$CMD = qq(echo "$BODY" | mail -a "From: $FROM" -s $SUBJECT $RECIPIENT);
exec($CMD);

Jeśli masz więcej pytań na temat Uniksa mail polecenie, spróbuj man mail z podpowiedzi powłoki.


1 dla odpowiedzi nr 2

The mail komendą w większości systemów jest obecnie Heirloom mailx. Stwierdza zgodność z POSIX, więc informacje, które tu podaję powinien bądź dobry dla każdego, kto zachowuje się dobrze mail dowództwo.

The From adres jest ustalany przez:

  • Albo user@domain zwracane przez odpowiednie wywołania systemowe POSIX (zobacz komendy powłoki whoami i domainname -f w inny sposób, aby uzyskać do nich dostęp)
  • lub ustaw przez from Zmienna środowiskowa
  • lub ustaw przez -r opcja wiersza poleceń (będzie przestarzała?)

Obowiązkowe klipy: Cześć! Widzę, że próbujesz wyślij pocztę z Perla. Czy chciałeś użyć? E-mail :: Nadawca/Email :: Prosty zamiast?


1 dla odpowiedzi nr 3

Nie używaj polecenia mail command linetand! Use Net :: SMTP.

The mail komenda nie może nawet zostać skonfigurowana w konkretnym systemie i nie będzie działać w systemie Windows. Net::SMTP jest standardowym modułem Perla, który powinien być dostępny na wszystkich systemach.

Nigdy wcześniej tego nie używałeś? Przeczytać dokumentacja i wypróbuj to. W ten sposób się uczysz.