Właśnie zbudowałem skromny serwer domowy przy użyciu CentOS 5.5. Chcę, aby serwer mógł wysyłać wiadomości e-mail na moje konto Gmail lub inne konta e-mail dotyczące różnych rzeczy, takich jak zadania cron. Byłoby również miło móc wysyłać wiadomości e-mail za pośrednictwem aplikacji PHP, które uruchamiam / rozwijam również na serwerze. Lub nawet serwer może wysyłać wiadomości e-mail za pomocą polecenia mail.
Wiem, że istnieje milion wyników wyszukiwania Google dotyczących konfigurowania serwera Linux jako serwera poczty e-mail lub konfigurowania sendmaila itp. Ale wydaje się, że nie są tym, czego szukam ... a przynajmniej tak mi się nie wydaje. Nie próbuję konfigurować serwera firmowego, z którym inni klienci mogą się łączyć, aby wysyłać e-maile lub cokolwiek bardziej skomplikowanego.
Chcę tylko, aby mój serwer wysyłał mi e-maile na różne tematy. Wydaje się, że powinno to być proste ... Czy ktoś może skierować mnie w dobrym kierunku?
AKTUALIZACJA
Na poniższe żądanie użytkowników wypróbowałem to polecenie:
/bin/mail -s "My Subject" "[email protected]" < /home/john/test
Żadnych błędów ani nic. Ale e-mail nigdy nie pojawił się w mojej skrzynce odbiorczej. Tutaj jest mójmaillog
Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: from=root, size=10906, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Oct 27 00:52:19 localhost sendmail[13703]: o9R6qJOd013703: from=<[email protected]>, size=11209, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=40906, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o9R6qJOd013703 Message accepted for delivery)
Jakieś wskazówki?
Odpowiedzi:
/bin/mail -s "Enter Subject Line here" -a
/home/.../whateverFileYouWantAttached
"you@YourEmailAddress"
< /home/me/textBody.letter
spróbuj powyżej polecenia :)
źródło
Prosta odpowiedź:
Skonfiguruj sendmail . Będzie to zależeć od twojej dystrybucji, ale wcale nie jest to trudne. Jeśli masz jakieś pytania, zadaj je.
Skomplikowana odpowiedź:
Jeśli o to pytasz, prawdopodobnie nie powinieneś po prostu przeskoczyć z pistoletu i skonfigurować sendmail justtt .
Musisz wziąć pod uwagę kilka rzeczy:
Czy Twój dostawca usług internetowych pozwala ci wysyłać wiadomości e-mail? Być może znajdujesz się w zakresie adresów IP innych niż serwer, dlatego wielu dostawców poczty e-mail zablokuje Twoje.
Jakiego adresu użyjesz jako adresu nadawcy? Czy masz uprawnienia do wysyłania z tego adresu (SPF, DomainKeys itp.)? Jeśli nie, Twoje wiadomości mogą zostać wykryte przez dostawców poczty e-mail jako spam - i słusznie.
Na koniec, ale na pewno nie najmniej ważne: czy naprawdę musisz korzystać z własnej usługi SMTP? Czy jest jakiś powód, dla którego korzystanie z usługodawcy internetowego jest niewystarczające?
W przeszłości konfigurowanie serwera SMTP nie było wielkim problemem. W dzisiejszych czasach konfiguracja może być łatwiejsza, ale skonfigurowanie jej w taki sposób, aby faktycznie dostawała wiadomości do skrzynek pocztowych ludzi , jest wyzwaniem.
źródło
Mogę potwierdzić, że żadna z powyższych sugestii nie działa w moim systemie CentOS w domu - ani jednej. Co jest denerwujące!
Potem spróbowałem tego samego na świeżej instancji Amazona z systemem CentOS 6.4 i nawet przy domyślnej konfiguracji mogę wysyłać pocztę bez problemów. Wszystko, co musiałem zrobić, to
po czym wysyłanie poczty jak opisano powyżej działa jak urok. Instalowanie komplikacji takich jak sendmail NIE jest konieczne do tego, co Jakub próbuje zrobić.
To musi być jakaś konfiguracja z moim ISP, ponieważ nie mam tutaj konfigurowalnej zapory ogniowej.
źródło
Musisz wykonać następujące czynności:
sudo yum install postfix telnet mailx
sudo /etc/init.d/postfix start
sudo vi /etc/postfix/main.cf
Zmiana
mydestination = mydomain.com, localhost.mydomain.com, localhost
do
mydestination = localhost.mydomain.com, localhost
Przetestuj za pomocą następującego polecenia z wiersza polecenia
.
Nr 4 - jest tylko kropka, żeby uzupełnić treść e-maila. Powinieneś teraz mieć pocztę.
Dzięki powyższym otrzymujesz działającego MTA (Mail Transfer Agent). Niektóre zasoby, które pomogą ci w bardziej zaawansowanej konfiguracji, można znaleźć w artykułach slicehost na temat konfiguracji poczty e-mail dla CentOS (przewiń w dół do sekcji CentOS i poczta e-mail). Naprawdę powinieneś rozważyć ustawienie następujących ustawień: nazwa hosta, RDNS (Reverse DNS) i SPF (Sender Policy Framework) u swojego dostawcy DNS.
źródło
Czy zmodyfikowałeś /etc/mail.rc, aby ustawić adres smtp?
źródło
/etc/mail.rc
brzmi:set ask askcc append dot save crt ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via
co sugerujesz?Spróbuj zainstalować postfiks i ustaw mydestination w pliku konfiguracyjnym, nawet jeśli powinien on działać z sendmailem.
źródło
Postfix jest na dobrej drodze, ale jeśli Gmail nie uzna, że jesteś przynajmniej zdalnie uprawniony (np. Nie jesteś spamerem), otrzymanie dostarczonej poczty jest mało prawdopodobne.
W tym przypadku proces jest nieco zaangażowany, ale najprostszym sposobem na osiągnięcie tego (i dostarczenie poczty) jest skonfigurowanie Postfixa jako przekaźnika, używając własnego konta Gmail jako transportu.
Proces, którego używam jest szczegółowo opisany tutaj:
http://rs20.mine.nu/w/2011/07/gmail-as-relay-host-in-postfix/
Nie trzeba konfigurować certyfikatów z podpisem własnym (jak w przypadku sendmaila) i z mojego doświadczenia wynika, że to po prostu działa!
źródło
Łatwym rozwiązaniem nie jest sendmail, ale sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/#download
Skrypt perla, który można łatwo skonfigurować do wysyłania za pośrednictwem dowolnego serwera SMTP, na który można się dostać - używam go do wysyłania za pośrednictwem kont Gmail przez cały czas, ale działa również w przypadku zwykłego SMTP przez TCP na porcie 25 itp.
Zwykle pakuję skrypt perl sendEmail własnym skryptem powłoki dla Gmaila:
źródło