2013-11-19 2 views
1

У меня большая головная боль, потому что PHP mail() funcion не работает. Я уже переустановил приложение postfix, но все равно никаких изменений! Если я телнет к локальной машине в порту 25, я могу отправить почту из командной строкиMy PHP mail() не работает

[email protected]:/etc/postfix# telnet localhost 25 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
220 myserver.com.br ESMTP Postfix 
ehlo 
401 Syntax: EHLO hostname 
ehlo localhost 
250-myserver.com.br 
250-PIPELINING 
250-SIZE 10240000 
250-ETRN 
250-AUTH PLAIN LOGIN 
250-AUTH=PLAIN LOGIN 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 
mail from: [email protected] 
250 2.1.0 Ok 
rcpt to: [email protected] 
250 2.1.5 Ok 
data 
354 End data with <CR><LF>.<CR><LF> 
Subject: Ola 

Boas t  
. 
250 2.0.0 Ok: queued as A71558AB472 

Я установил Zpanel раньше, на самом деле не знаю, если это это то, что возиться с PHP почты ... Что еще может быть?

РНР почта() функция Я использую очень простой и работает на других серверах:

mail("[email protected]","Tell","and","FROM: [email protected]\n\n"); 

Ошибка входа, что я получаю что-то вроде этого:

Nov 19 15:28:43 myserver postfix/pickup[6186]: 89B898AB477: uid=33 from=<www-data> 
Nov 19 15:28:43 myserver postfix/cleanup[6630]: 89B898AB477: message-id=<[email protected]> 
Nov 19 15:28:43 myserver postfix/qmgr[6187]: 89B898AB477: from=<[email protected]>, size=361, nrcpt=1 (queue active) 
Nov 19 15:28:44 myserver postfix/smtp[6634]: 89B898AB477: to=<[email protected]>, relay=mx1.hotmail.com[65.55.37.120]:25, delay=0.99, delays=0.17/0.01/0.6/0.2, dsn=4.0.0, status=SOFTBOUNCE (host mx1.hotmail.com[65.55.37.120] said: 550 SC-001 (COL0-MC4-F39) Unfortunately, messages from 201.33.21.60 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to MAIL FROM command)) 
Nov 19 15:28:44 myserver postfix/smtp[6634]: 89B898AB477: lost connection with mx1.hotmail.com[65.55.37.120] while sending RCPT TO 

EDIT: Выяснилось, что я могу отправить это письмо на другой сервер, но каким-то образом Hotmail блокирует его.

+2

Можете ли вы показать нам код 'mail()' и любые ошибки/выдержки из журналов? – CompuChip

+0

сделано. Спасибо :) –

+3

Там это: _Пожалуйста, обратитесь к вашему интернет-провайдеру, поскольку часть их сети находится в нашем списке блоков. Хост, который вы отправляете, находится в одном из списков блокировки нежелательной почты, а сервер получателей (hotmail) не будет принимать сообщения от него. Если это общий хост, это довольно распространенное затруднительное положение. Кто-то еще на общем хосте отправляет спам-почту, и это также влияет на вас. –

ответ

0

Кажется, что Hotmail не любит отправителя конверта [email protected] (используется в MAIL FROM:)

Использование Telnet, чтобы узнать, если Hotmail готов принимать сообщения от хоста с другим адресом отправителя конверта (WWW-данные могут быть нелюбимым/заблокированным).

Если вы настроите почту php для отправки с помощью программы sendmail (postfix также предоставляет такую ​​программу), вы можете установить другого отправителя конверта.

http://php.net/manual/en/function.mail.php

0

Таким образом, кажется, что Hotmail блокирует мои сообщения ... Я пытался послать несколько сообщений в GMAIL и первый вышел OK. Следующие письма я получил следующие журналы

Nov 20 09:26:31 Server postfix/smtp[11729]: connect to gmail-smtp-in.l.google.com[2607:f8b0:400c:c02::1a]:25: Network is unreachable 
Nov 20 09:26:32 Server postfix/smtp[11729]: 5A2238AB497: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[173.194.68.26]:25, delay=1.8, delays=0.17/0/1/0$ 
Nov 20 09:26:32 Server postfix/qmgr[7005]: 5A2238AB497: removed 
Nov 20 09:28:20 Server postfix/smtpd[12027]: connect from localhost[127.0.0.1] 
Nov 20 09:28:20 Server postfix/trivial-rewrite[12029]: warning: do not list domain myserver.com.br in BOTH mydestination and virtual_mailbox_domains 
Nov 20 09:28:20 Server postfix/smtpd[12027]: ACCD08AB497: client=localhost[127.0.0.1] 
Nov 20 09:28:20 Server postfix/cleanup[12031]: ACCD08AB497: message-id=<[email protected]> 
Nov 20 09:28:20 Server postfix/qmgr[7005]: ACCD08AB497: from=<[email protected]>, size=1260, nrcpt=1 (queue active) 
Nov 20 09:28:20 Server postfix/smtpd[12027]: disconnect from localhost[127.0.0.1] 

И после некоторого поиска я понял, что проблема была на ipv6 конфигурации, поэтому я редактировал постфикса/main.cf и линии inet_protocols = Все для inet_protocols = ipv4.

Новый выход что-то вроде этого

Nov 20 09:54:49 Server postfix/smtp[12315]: 70A3A8AA103: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[173.194.68.27]:25, delay=2, delays=0.21/0/0.4/1.4, dsn=2.0.0, status=sent (250 2.0.0 OK 1384948492 d5si7115120qcj.49 - gsmtp) 
Nov 20 09:54:49 Server postfix/qmgr[12243]: 70A3A8AA103: removed 

Но получатель не получил его электронную почту, хотя OK статус :(