Страница 2 из 3
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 06 дек 2013, 16:40
Vano
Есть продвижения, не большие

:
Лог exim'a:
Код: Выделить всё
2013-12-06 10:33:46 1Von6o-0002Vs-El <= www@mx.hosting.com U=www P=local S=555 from <www@mx.hosting.com> for vasya@domain.com
2013-12-06 10:33:46 1Von6o-0002Vs-El ** vasya@domain.com R=smarthost_relay T=smarthost_smtp: SMTP error from remote mail server after MAIL FROM:<www@mx.hosting.com>: host 192.168.1.1 [192.168.1.1]: 550 5.7.1 Authentication Required
2013-12-06 10:33:46 1Von6o-0002Vx-GM <= <> R=1Von6o-0002Vs-El U=mailnull P=local S=1478 from <> for www@mx.hosting.com
2013-12-06 10:33:46 1Von6o-0002Vs-El Completed
2013-12-06 10:33:46 1Von6o-0002Vx-GM == www@mx.hosting.com R=localuser T=local_delivery defer (2): No such file or directory: failed to chdir to /nonexistent
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 06 дек 2013, 16:50
Raven
Авторизации требует!
После begin authenticators впиши
smarthost_login:
driver = plaintext
public_name = LOGIN
client_send = :
username@domain.com : password # логин и пароль смартхоста
в конце транспорта smarthost_transport добавь
hosts_require_auth = *
Либо настрой ML1 чтоб молча релеил почту с ойпишнега exim. Последнее кстати более чем верно.
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 06 дек 2013, 17:21
Vano
Прописал авторизацию.
Лог exim'a:
Код: Выделить всё
2013-12-06 11:12:06 1Vonhu-0002Ya-4L <= www@mx.hosting.com U=www P=local S=555 from <www@mx.hosting.com> for vasya@domain.com
2013-12-06 11:12:06 1Vonhu-0002Ya-4L => vasya@domain.com R=smarthost_relay T=smarthost_smtp H=192.168.1.1 [192.168.1.1] X=TLSv1:AES256-SHA:256 C="250 2.0.0 52a1b1d4-0000005a Message accepted for delivery"
2013-12-06 11:12:06 1Vonhu-0002Ya-4L Completed
Лог почтовика ML1
Код: Выделить всё
[06/Dec/2013 17:15:32] Recv: Queue-ID: 52a1b1d4-0000005a, Service: SMTP, From: <www@mx.hosting.com>, To: <vasya@domain.com>, Size: 735, Sender-Host: 192.168.1.2, User: info@hosting.com, SSL: yes, Sender-Host-Name: mx.hosting.com, Subject: Отзыв, Msg-Id: <E1Vonhu-0002Ya-4L@mx.hosting.com>
[06/Dec/2013 17:15:36] Recv: Queue-ID: 52a1b1d8-0000005b, Service: DSN, From: <>, To: <www@mx.hosting.com>, Size: 2271, Report: failed, Subject: Возвращенное сообщение электронной почты: Отзыв, Msg-Id: <-1805411036-4792@hosting.com>
[06/Dec/2013 17:15:36] Sent: Queue-ID: 52a1b1d4-0000005a, Recipient: <vasya@domain.com>, Result: failed, Status: 5.1.8 550 Unroutable sender address, Remote-Host: 94.100.176.20, Remote-Host-Name: mxs.mail.ru, Msg-Id: <E1Vonhu-0002Ya-4L@mx.hosting.com>
[06/Dec/2013 17:15:36] Sent: Queue-ID: 52a1b1d8-0000005b, Recipient: <www@mx.hosting.com>, Result: failed, Status: 5.4.4 Host not found, Remote-Host: 127.0.0.1, Remote-Host-Name: localhost, Msg-Id: <-1805411036-4792@hosting.com>
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 06 дек 2013, 17:53
Vano
Поменял скрипт:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
$name = $_POST['username'];
$phone = $_POST['phone'];
$address = $_POST['address'];
$notes = $_POST['notes'];
$email = $_POST['email'];
$goods = $_POST['goods'];
$from = 'no-replay@'.$_SERVER['HTTP_HOST'];
$headers = 'From: '.$from;
mail('
vasya@domain.com', 'Отзыв', $goods, $headers, "-f
no-replay@domain2.kg");
header("Location: /component/jshopping/cart/view.html");
}
?>
Все равно:
Status: 5.1.8 550 Unroutable sender address
Status: 5.4.4 Host not found
Может сам exim в заголовке From вносит своё имя?
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 06 дек 2013, 20:57
Raven
Да, from подставляет exim, так как при такой доставке будет использован локальный пользователь. слать надо через смтп - на порт то бишь.
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 07 дек 2013, 10:18
Vano
Попробовал через SMTP - exim вообще не получает письмо
Код: Выделить всё
<?php
include('SMTPconfig.php');
include('SMTPClass.php');
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$to = 'vasya@domain.com';
$from = 'no-replay@'.$_SERVER['HTTP_HOST'];
$subject = 'Отзыв';
$body = $_POST['goods'];
$SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
$SMTPChat = $SMTPMail->SendMail();
header("Location: /component/jshopping/cart/view.html");
}
?>
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 07 дек 2013, 11:12
Raven
А он запущен (как демон)?
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 07 дек 2013, 11:27
Vano
Да:
Код: Выделить всё
# sockstat -4
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
mailnull exim-4.80. 17364 3 tcp4 *:25 *:*
mailnull exim-4.80. 17364 4 tcp4 *:465 *:*
mailnull exim-4.80. 17364 5 tcp4 *:587 *:*
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 07 дек 2013, 17:49
Vano
Таки нашел решение!
Только не exim, а msmtp:
Код: Выделить всё
# cd /usr/ports/mail/msmtp
# make install clean -s
# rehash
Создаем лог файл и конфиг:
Код: Выделить всё
# touch /usr/local/etc/msmtprc
# touch /var/log/msmtp.log
Вносим в /usr/local/etc/msmtprc параметры:
Код: Выделить всё
account default
logfile /var/log/msmtp.log
domain mx.hosting.com
auth on
tls off
tls_starttls off
tls_certcheck off
host 192.168.1.1
port 25
protocol smtp
timeout 5
user admin@hosting.com
password pass
В php.ini вносим:
Код: Выделить всё
sendmail_path = "/usr/local/bin/msmtp -t --read-envelope-from"
При данной настройке, php будет передавать письмо msmtp, а он в сваю очередь будет пересылать по 25 порту, авторизуясь на 192.168.1.1 почтовике.
Параметр --read-envelope-from указывает брать заголовок From из php скрипта, в котором указано у нас:
Код: Выделить всё
$from = 'no-replay@'.$_SERVER['HTTP_HOST'];
т. е. no-replay@имя_домена
Re: Отправка почты с хостинга, с учетом заголовков
Добавлено: 09 дек 2013, 00:22
Raven
Vano
