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 № 1Istnieją 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łokiwhoami
idomainname -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.