Отправка писем. Сервер не принимает письма

123 4
G
На сайте с 15.08.2009
Offline
38
14677

Отправляю письма скриптом в ответ приходят письма от с текстом:

SMTP error from remote mail server after MAIL FROM:<info@Fromsite.com> SIZE=36224:

host tosending.com [174.36.221.128]: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

Что значит эта ошибка?

Куплю ссылки, размещу статьи на сайтах агро и смежных с агробизнесом тематик.
[Удален]
#1
[umka]
На сайте с 25.05.2008
Offline
456
#2

Вот как раз благодаря тому, что в RFC2821 слишком много букав, большинство потенциальных спамеров не в состоянии грамотно отправить письмо, и фильтры задерживают 99% спама :)

Отправляйте стандартными функциями через свой smtp-сервер.

Будет и проще в сто раз, и не будет проблем с RFC, gerylisting-ами, и т.д. и т.п.

Лог в помощь!
G
На сайте с 15.08.2009
Offline
38
#3
gazmyas, http://forums.traysoft.com/viewtopic...d5031c62dada39 вот ответ на Ваш вопрос

Что-то я так до конца и не понял о чем там.. Это что-то в настройках сервера надо прописать??

Отправляйте стандартными функциями через свой smtp-сервер.
Будет и проще в сто раз, и не будет проблем с RFC, gerylisting-ами, и т.д. и т.п.

А ни у кого нет такой функци или класса для рассылки писем? А то я уже почти все перепробовал и ничего нормально не работает

BR
На сайте с 28.06.2008
Offline
75
#4
размещение сайтов (http://www.brim.ru)
G
На сайте с 15.08.2009
Offline
38
#5

А где можно посмотреть какой HELO name шлет мой почтовый сервер?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
gazmyas:
А где можно посмотреть какой HELO name шлет мой почтовый сервер?

в логах принимающего сервера или поставив сниффер. Но это здесь не важно.. В вашем случае ключевой фразой является

gazmyas:
host tosending.com [174.36.221.128]: 550 Access denied

Вашему IP нет соответствующей обратной зоны DNS, или зона выглядит как 174.36.221.128.xxxx.ru + нет сопоставленной MX записи. Отправляйте письма через любой SMTP с авторизацией, и все будет ок.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[umka]
На сайте с 25.05.2008
Offline
456
#7

HELO можно увидеть в логах почтового сервера, на который приходит письмо.

А по поводу стандартных функций, я имел в виду функцию mail() :D

Если отправлять с помощью "классов", то отправить напрямую на сервер получателя вряд получится, т.к. на всех нормальных хостингах функции работы с сокетами отключены вовсе или, как минимум, закрыры исходящие соединения на 25-й порт :)

[umka] добавил 11.03.2010 в 12:05

T.R.O.N, это у товарища такой exapmle.com :D

G
На сайте с 15.08.2009
Offline
38
#8
А по поводу стандартных функций, я имел в виду функцию mail()

Так у меня класс и отправляет письмо с помощью mail

HELO можно увидеть в логах почтового сервера, на который приходит письмо.

Тогда как решить проблему чтобы письма не возвращались? Может у себя что-то нужно на хостинге настроить? Ведь процентов 80 писем отправляет..

На всякий случай покажу Вам свой класс, может чего подскажите..


<?php

/*
* @author : nicolas Lattuada <nicolas@icare-net.com>
* send emails with pdf attachment
*/

class AttachMailer{

private $from, $to, $subject, $mess, $hash, $output;
private $documents = Array();

/*
* @params from: adresse de l'envoyeur(+reponse)
* to : adresse a qui on envoie
* subject : le sujet du message
* mess : le message lui meme(format html)
*/
function __construct($_from, $_to, $_subject, $_mess){
$this->from = $_from;
$this->to = $_to;
$this->subject = $_subject;
$this->mess = $_mess;
$this->hash = md5(date('r', time()));
}

/*
* @params url du document ajout&#233;
*/
public function attachFile($url, $name = ""){
$attachment = chunk_split(base64_encode(file_get_contents($url)));
$docName = $name == "" ? basename($url) : $name;
$randomHash = $this->hash;
$docOutput = "--PHP-alt-$randomHash--\r\n\r\n"
."--PHP-mixed-$randomHash\r\n"
."Content-Type: application/pdf; name=\"$docName\" \r\n"
."Content-Transfer-Encoding: base64 \r\n"
."Content-Disposition: attachment \r\n\r\n"
.$attachment . "\r\n";
$this->documents[] = $docOutput;
}

private function makeMessage(){
$randomHash = $this->hash;
$messageOutput = "--PHP-mixed-$randomHash\r\n"
."Content-Type: multipart/alternative; boundary=PHP-alt-$randomHash\r\n\r\n"
."--PHP-alt-$randomHash\r\n"
."Content-Type: text/plain; charset='windows-1251'\r\n"
."Content-Transfer-Encoding: 7bit\r\n\r\n"
.$this->mess . "\r\n\r\n"
."--PHP-alt-$randomHash\r\n"
."Content-Type: text/html; charset='windows-1251'\r\n"
."Content-Transfer-Encoding: 7bit\r\n\r\n"
. $this->mess . "\r\n";

foreach($this->documents as $document){
$messageOutput .= $document;
}
$messageOutput .="--PHP-mixed-$randomHash;--";
$this->output = $messageOutput;
}

public function send(){
$this->makeMessage();
$from = $this->from;
$randomHash = $this->hash;
$headers = "From: $from\r\nReply-To: $from";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-$randomHash\"";
$mail_sent = @mail( $this->to, $this->subject, $this->output, $headers );
return $mail_sent ? true : false;
}

}
[umka]
На сайте с 25.05.2008
Offline
456
#9

Если шлёт mail()-ом, то проблема может быть в следующем:

- для ip-адреса, с которого сервер шлёт письма, не прописана обратная зона

- HELO должен соответствовать RFC2821 (п. 4.1.1.1)

- ip-адрес имени из обратной зоны не соответствует ip-адресу, с которого сервер шлёт письма (и такое бывает)

- в SPF для домена-отправителя не прописан ip-адрес сервера.

Судя по ошибке из вашего первого сообщения, сервер просто криво настроен и указывает не то что неправильный HELO, а именно какой-то кривой HELO :)

PHP-класс к HELO отношения не имеет. Именно сервер настроен криво. После того, как его нормально настроят, нужно будет проверить, чтобы все перечисленные условия выполнялись, и процент доставленных писем существенно повысится.

[Удален]
#10
[umka:
]т.к. на всех нормальных хостингах функции работы с сокетами отключены вовсе или, как минимум, закрыры исходящие соединения на 25-й порт

не верю. не сталкивался с проблемами ни разу при использовании классов типа пхпмейлер

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий