Na wstępie napiszę że nienawidzę sendmaila mam ogromne problemy z nim zawsze. Poprzednio działał mi jakoś ale wygasła domena z której wysyłał i teraz nie jestem w stanie nic zrobić. Problem wygląda tak: mail() zwraca true, a maile nie dochodzą. Na temat sendmaila ciężko znaleść dobre HOWTO, większość przedawniona najlepsze co znalazłem to http://www.chinalinuxpub.com/doc/www.silic...hn/sendmail.htm - kombinowałem 3 godziny i nic.
Moim zamierzeniem jest jedynie serwer SMTP wysyłający maile z polecenia lokalnego php mail(). W /etc/php5 napewno jest ustawione sendmail_path.
Obecne logi z próby wysłania:(dodane teraz / tam gdzie moj mail by boty nie zaspamowały)
Cytat
Wired-Up_DE1:~# sendmail -v an/ti/@/wired-up.pl
WARNING: local host name (Wired-Up_DE1) is not qualified; see cf/README: WHO AM I?
dupa
dupa
.
an/ti/@/wired-up.pl... Connecting to [127.0.0.1] port 587 via relay...
220 Wired-Up_DE1 ESMTP Sendmail 8.13.8/8.13.8/Debian-3; Sun, 22 Mar 2009 17:47:27 +010 0; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO Wired-Up_DE1
250-Wired-Up_DE1 Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<root@Wired-Up_DE1> SIZE=10 AUTH=root@Wired-Up_DE1
250 2.1.0 <root@Wired-Up_DE1>... Sender ok
>>> RCPT To:<an/ti/@/wired-up.pl>
>>> DATA
250 2.1.5 <an/ti/@w/ired-up.pl>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
050 <an/ti/@/wired-up.pl>... Connecting to wired-up.pl. via esmtp...
050 220-host6.xon.pl ESMTP Exim 4.69 #1 Sun, 22 Mar 2009 17:29:50 +0100
050 220-We do not authorize the use of this system to transport unsolicited,
050 220 and/or bulk e-mail.
050 >>> EHLO Wired-Up_DE1
050 250-host6.xon.pl Hello Wired-Up_DE1 [88.198.47.100]
050 250-SIZE 52428800
050 250-PIPELINING
050 250-AUTH PLAIN LOGIN
050 250-STARTTLS
050 250 HELP
050 >>> STARTTLS
050 220 TLS go ahead
050 >>> EHLO Wired-Up_DE1
050 250-host6.xon.pl Hello Wired-Up_DE1 [88.198.47.100]
050 250-SIZE 52428800
050 250-PIPELINING
050 250-AUTH PLAIN LOGIN
050 250 HELP
050 >>> MAIL From:<root@Wired-Up_DE1> SIZE=309 AUTH=<>
050 501 <root@Wired-Up_DE1>: malformed address: _DE1> may not follow <root@Wired-Up
050 <root@Wired-Up_DE1>... Connecting to local...
050 <root@Wired-Up_DE1>... Sent
250 2.0.0 n2MGlRIW003508 Message accepted for delivery
an/ti/@/wired-up.pl... Sent (n2MGlRIW003508 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 Wired-Up_DE1 closing connection
You have new mail in /var/mail/root
WARNING: local host name (Wired-Up_DE1) is not qualified; see cf/README: WHO AM I?
dupa
dupa
.
an/ti/@/wired-up.pl... Connecting to [127.0.0.1] port 587 via relay...
220 Wired-Up_DE1 ESMTP Sendmail 8.13.8/8.13.8/Debian-3; Sun, 22 Mar 2009 17:47:27 +010 0; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO Wired-Up_DE1
250-Wired-Up_DE1 Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<root@Wired-Up_DE1> SIZE=10 AUTH=root@Wired-Up_DE1
250 2.1.0 <root@Wired-Up_DE1>... Sender ok
>>> RCPT To:<an/ti/@/wired-up.pl>
>>> DATA
250 2.1.5 <an/ti/@w/ired-up.pl>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
050 <an/ti/@/wired-up.pl>... Connecting to wired-up.pl. via esmtp...
050 220-host6.xon.pl ESMTP Exim 4.69 #1 Sun, 22 Mar 2009 17:29:50 +0100
050 220-We do not authorize the use of this system to transport unsolicited,
050 220 and/or bulk e-mail.
050 >>> EHLO Wired-Up_DE1
050 250-host6.xon.pl Hello Wired-Up_DE1 [88.198.47.100]
050 250-SIZE 52428800
050 250-PIPELINING
050 250-AUTH PLAIN LOGIN
050 250-STARTTLS
050 250 HELP
050 >>> STARTTLS
050 220 TLS go ahead
050 >>> EHLO Wired-Up_DE1
050 250-host6.xon.pl Hello Wired-Up_DE1 [88.198.47.100]
050 250-SIZE 52428800
050 250-PIPELINING
050 250-AUTH PLAIN LOGIN
050 250 HELP
050 >>> MAIL From:<root@Wired-Up_DE1> SIZE=309 AUTH=<>
050 501 <root@Wired-Up_DE1>: malformed address: _DE1> may not follow <root@Wired-Up
050 <root@Wired-Up_DE1>... Connecting to local...
050 <root@Wired-Up_DE1>... Sent
250 2.0.0 n2MGlRIW003508 Message accepted for delivery
an/ti/@/wired-up.pl... Sent (n2MGlRIW003508 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 Wired-Up_DE1 closing connection
You have new mail in /var/mail/root
Chciałem wysłać mail na swoją skrzynke umieszczoną na innym hoscie. sendmail połączył się z host6.xon.pl i oddał cośspowrotem na root@Wired-Up_DE1 (nie wiem czy potwierdzenie czy coś innego ale mail do mojej skrzynki nie doszedł)
sendmail zainstalowany z apt-get install sendmail i stosowałem rady z tamtego manuala co podałem. Oto niektóre moje pliki
/etc/mail/access
Cytat
Connect:localhost RELAY
GreetPause:localhost 0
ClientRate:localhost 0
ClientConn:localhost 0
Connect:127 RELAY
GreetPause:127 0
ClientRate:127 0
ClientConn:127 0
Connect:[IPv6:::1] RELAY
GreetPause:[IPv6:::1] 0
ClientRate:[IPv6:::1] 0
ClientConn:[IPv6:::1] 0
GreetPause: 5000
ClientRate: 10
ClientConn: 10
Connect:0 REJECT
Connect:169.254 REJECT
Connect:192.0.2 REJECT
Connect:224 REJECT
Connect:255 REJECT
89.228.150.202 RELAY
GreetPause:localhost 0
ClientRate:localhost 0
ClientConn:localhost 0
Connect:127 RELAY
GreetPause:127 0
ClientRate:127 0
ClientConn:127 0
Connect:[IPv6:::1] RELAY
GreetPause:[IPv6:::1] 0
ClientRate:[IPv6:::1] 0
ClientConn:[IPv6:::1] 0
GreetPause: 5000
ClientRate: 10
ClientConn: 10
Connect:0 REJECT
Connect:169.254 REJECT
Connect:192.0.2 REJECT
Connect:224 REJECT
Connect:255 REJECT
89.228.150.202 RELAY
/etc/mail/local-host-names
Cytat
mail.proclimb.pl
proclimb.pl
localhost
proclimb.pl
localhost
relay-domains czyste
/etc/mail/sendmail.mc (które było potem przez m4 generowane do sendmail.cf)
Cytat
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.8-3 2006-12-08 20:21:10 cowboy Exp )
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
#DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl // - kazali w manualu zakomentować to tak zrobiłem
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, Addr=127.0.0.1')dnl
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
FEATURE(`access_db', , `skip')dnl
FEATURE(`greet_pause', `1000')dnl 1 seconds
FEATURE(`delay_checks', `friend', `n')dnl
define(`confBAD_RCPT_THROTTLE',`3')dnl
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl define(`confCON_EXPENSIVE',`True')dnl
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.8-3 2006-12-08 20:21:10 cowboy Exp )
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
#DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl // - kazali w manualu zakomentować to tak zrobiłem
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, Addr=127.0.0.1')dnl
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
FEATURE(`access_db', , `skip')dnl
FEATURE(`greet_pause', `1000')dnl 1 seconds
FEATURE(`delay_checks', `friend', `n')dnl
define(`confBAD_RCPT_THROTTLE',`3')dnl
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl define(`confCON_EXPENSIVE',`True')dnl
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
/etc/hosts
Cytat
127.0.0.1 localhost
88.198.47.100 mail.proclimb.pl mail www
88.198.47.100 Wired_Up_DE1
88.198.47.100 mail.proclimb.pl mail www
88.198.47.100 Wired_Up_DE1
netstat -an | grep :25 | grep tcp //polecenie zwraca:
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
konfiguracja DNS: nie mam na swoim dedykowanym serwerze serwera DNS dlatego zawsze stosuje przekierowania na IP. W tym przypadku jest ono takie:
proclimb.pl A 88.198.47.100
mail.proclimb.pl A 88.198.47.100
mail.proclimb.pl MX 10 88.198.47.100
telnet mail.proclimb.pl 25 / telnet 88.198.47.100 25 zwraca connection refused.
Ale tak jak pisałem ja potrzebuje tylko wysyłać maile z localhosta. telnet localhost 25 daje
Cytat
220 Wired-Up_DE1 ESMTP Sendmail 8.13.8/8.13.8/Debian-3; Sun, 22 Mar 2009 18:29:11 +0100; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
Więc jest to chyba ok. Wcześniejsza domena używała chyba postfixa ponieważ jak dałem apt-get install sendmail to najpierw zrobił remove postfix.
Ktoś widzi co jest w tym wszystkim nie tak? Miałem nadzieję że wysyłanie maili funkcją mail jest prostrze :/ Chętnie odwdzięcze się przelewem bankowym za pomoc bo jest to dla mnie bardzo ważna sprawa. Jeszcze na koniec skrypt php:
Cytat
if (!$_POST['akcja']) {
?>
<form id="maszpytanie" action="" method="post">
<input type="hidden" name="akcja" value="1" />
<div class="text"><input type="text" name="imie" id="imie" value="Imię i nazwisko / Nazwa firmy" onfocus="if(this.value == 'Imię i nazwisko / Nazwa firmy') this.value = '';" onblur="if(this.value == '') this.value = 'Imię i nazwisko / Nazwa firmy';" /></div>
//tutaj inne inputy
<input type="image" src="images/wyslij_11.png" style="position:relative; left:170px; width:28px; height:18px;" />
</form>
<?
} else {
$eol = "\r\n";
$dzisiaj = date("j M Y");
$godzina = date("H:i:s");
$headers = "From:".$_POST['mail']."".$eol.$eol;
$mail_sent = mail("maciek\wojcik\@op\.pl","Wired-Up.eu zapytanie ofertowe od ".$_POST['imie']."", "Dnia ".$dzisiaj." o godzinie ".$godzina." wypelniono formularz zapytaniowy na stronie wired-up.eu. Oto informacje ktore wprowadzono:".$eol."Imie i nazwisko/Nazwa firmy: ".$_POST['imie']."".$eol."E-mail: ".$_POST['mail']."".$eol."Tresc zapytania: ".$_POST['tresc']."", $headers);
if ($mail_sent) {
echo("<script>location.href='kontakt-mailsent'</script>"); } else {
echo("<script>location.href='kontakt-mailfail'</script>"); }
}
?>
<form id="maszpytanie" action="" method="post">
<input type="hidden" name="akcja" value="1" />
<div class="text"><input type="text" name="imie" id="imie" value="Imię i nazwisko / Nazwa firmy" onfocus="if(this.value == 'Imię i nazwisko / Nazwa firmy') this.value = '';" onblur="if(this.value == '') this.value = 'Imię i nazwisko / Nazwa firmy';" /></div>
//tutaj inne inputy
<input type="image" src="images/wyslij_11.png" style="position:relative; left:170px; width:28px; height:18px;" />
</form>
<?
} else {
$eol = "\r\n";
$dzisiaj = date("j M Y");
$godzina = date("H:i:s");
$headers = "From:".$_POST['mail']."".$eol.$eol;
$mail_sent = mail("maciek\wojcik\@op\.pl","Wired-Up.eu zapytanie ofertowe od ".$_POST['imie']."", "Dnia ".$dzisiaj." o godzinie ".$godzina." wypelniono formularz zapytaniowy na stronie wired-up.eu. Oto informacje ktore wprowadzono:".$eol."Imie i nazwisko/Nazwa firmy: ".$_POST['imie']."".$eol."E-mail: ".$_POST['mail']."".$eol."Tresc zapytania: ".$_POST['tresc']."", $headers);
if ($mail_sent) {
echo("<script>location.href='kontakt-mailsent'</script>"); } else {
echo("<script>location.href='kontakt-mailfail'</script>"); }
}
Skrypt musi być w porządku bo działał wcześniej. Z góry dzięki za pomoc.