X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> От чего не приходит письмо на почту?
hnerd
hnerd
Topic Starter сообщение 16.4.2015, 19:10; Ответить: hnerd
Сообщение #1


Дело в том, что на Денвере письмо приходит и сохраняется в папку tmp !sendmail, а вот на почту нет.
Свой email я проверяла 10 раз уже.

Вот код:

<?php
    mb_internal_encoding("UTF-8");
    header("Content-Type: text/html; charset=utf-8");
    
        $phone = htmlspecialchars(trim($_POST['phone']));
        $name = htmlspecialchars(trim($_POST['name']));

            $subject = "Новая заявка!";
            $message = "<h1>Новая заявка!</h1><br/><b>телефон: </b> ".$phone."<br/>";
            if($name != '')
                $message .= "<b>Имя:</b>".$name."<br/>";
            
            $headers = "From: Lafesta\r\nReply-To: Lafesta\r\nContent-type: text/html; charset=utf-8\r\n";
            $email = 'standfordeli@yandex.ru';
            mail($email, $subject, $message, $headers);
?>

На маил, Яндекс и Гугл , вообще никуда не приходит письмо. Помогите!


Сообщение отредактировал hnerd - 16.4.2015, 19:12
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 16.4.2015, 19:24; Ответить: ShowPrint
Сообщение #2


Я долго мучился в разных вариантах с функцией mail().
В настоящий момент в модуле рассылки у меня работает вот такая конструкция:


// Функция отправки сообщения по электронной почте
function SendEMailMessage($From, $To, $Subject, $Text, $File)
{
$SenderName = "SenderName"; // string
$Company = "CompanyName"; // string
$_MailFrom = "E-Mail@Address.ru";
$_Kod='windows-1251';

// чтение файла с логотипом/картинкой (если нужно)
if ( $File=='' ) $File='./image/ArcturLogo.gif';
$_FileID = fopen($File,"r");
if (!$_FileID)
{
    echo "Файл $File не может быть прочитан";
    exit();
}
$_File = fread($_FileID, filesize($File));
fclose($_FileID);

$_UID = "--".md5(uniqid(time())); // генерируем разделитель
$_Header = 'From: =?'.$_Kod.'?B?'.base64_encode($SenderName).'?= <'.$_MailFrom.">\n";
$_Header .= 'Reply-To: =?'.$_Kod.'?B?'.base64_encode($SenderName).'?= <'.$From.">\n";
$_Header .= "Organization: =?".$_Kod."?B?".base64_encode($Company)."?=\n";
$_Header .= "MIME-Version: 1.0\n";
$_Header .= "Content-Type: multipart/mixed; boundary=\"$_UID\"\n";

$_MultiPart = "";
$_MultiPart .= "--$_UID\n";
$_MultiPart .= "Content-Type: text/html; charset=$_Kod\n";
$_MultiPart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$_MultiPart .= stripslashes($Text);
$_MultiPart .= "\n\n";

// аттач логотипа/картинки (если нужно)
$_MessagePart = "";
$_MessagePart .= "Content-Type: application/octet-stream; ";
$_MessagePart .= "file_name = \"$File\"\n";
$_MessagePart .= "Content-Transfer-Encoding: base64\n";
$_MessagePart .= "Content-ID: <Logo>\n";
$_MessagePart .= "Content-Disposition: attachment; filename = \"".$File."\"\n\n";
$_MessagePart .= chunk_split(base64_encode($_File))."\n";

$_MultiPart .= "--$_UID\n".$_MessagePart."--$_UID--\n";

if( !mail( $To, '=?'.$_Kod.'?B?'.base64_encode($Subject).'?=', $_MultiPart, $_Header ) )
{
    if( !mail( $To, '=?'.$_Kod.'?B?'.base64_encode($Subject).'?=', $_MultiPart, $_Header ) )
    {
        echo "К сожалению, письмо не может быть отправлено";
    }
}

} // конец функции


Запуск функции из скрипта, следующим образом:




SendEMailMessage( $_SubscribeMail, $_MyMail, $_Subject, wordwrap( $_Text, 70 ,"\n " ) );

где:

$_SubscribeMail - адресат

$_MyMail - что проставляется в поле "от"

$_Subject - тема письма

$_Text - текст письма с использованием html-тегов (если нужно)


 

 

Попробуйте скопипастить - возможно будет работать...

 

П.С. Ну в начале функции в переменные свои значения поставить; за 1251 не бейте - привычка; блок с аттачем гифки с логотипом можно удалить целиком...

 

Ну и кривизну, кто сочтет таковой, тоже не пинайте - не профи я... Писал основываясь на куче разных источников, сводя информацию в одно целое которое меня будет удовлетворять...



Сообщение отредактировал ShowPrint - 16.4.2015, 19:55
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
hnerd
hnerd
Topic Starter сообщение 16.4.2015, 19:43; Ответить: hnerd
Сообщение #3


(ShowPrint @ 16.4.2015, 21:24) *
Попробуйте скопипастить - возможно будет работать...


Здравствуйте! Нашла ошибку, неправильный адрес просто прописала, вместо send.php прописала /send.php - вот и вся ошибка.
Но за ващ код отдельное спасибо! Буду его использовать в дальнейшем!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brutap
brutap
сообщение 23.5.2015, 15:04; Ответить: brutap
Сообщение #4


Почта - это самое каверзное, что есть на сегодня. Попробуй протестировать на разных ящиках, может проблема в этом. Часто такое бывает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 25.5.2015, 10:36; Ответить: fedornabilkin
Сообщение #5


(hnerd @ 16.4.2015, 21:10) *
Дело в том, что на Денвере письмо приходит и сохраняется в папку tmp !sendmail, а вот на почту нет.

Насколько я знаю, с локалки вообще нельзя отправить письмо.
В последнее время использую отправку через SMTP и пользуюсь php-классом.
Выглядит приблизительно так:

$m = new Mail(); // можно сразу указать кодировку, можно ничего не указывать ($m= new Mail;)
$m->From( $mail_from.";no-reply@site.ru" ); // от кого Можно использовать имя, отделяется точкой с запятой
$m->ReplyTo( $mail_from.";no-reply@site.ru" ); // куда ответить, тоже можно указать имя
$m->To( $mail ); // кому, в этом поле так же разрешено указывать имя
$m->Subject( $title_notice ); // заголовок
//$m->Body( $body );
$m->Body( $body, "html" ); // текст письма
$m->Organization($mail_from); // торговое имя
$m->Priority(3) ; // установка приоритета
$m->smtp_on("smtp.site.ru", 'no-reply@site.ru', '12345', 25); // сервер, адрес, пароль, порт
$m->Send(); // отправка


Рекомендую пользоваться классами, все равно этот этап неизбежен.
Класс для отправки писем
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devil2012
devil2012
сообщение 1.6.2015, 16:58; Ответить: devil2012
Сообщение #6


Может все же переспам? Задержка получения письма, либо в СПАМ-листах лежит.


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСкрипт на сайте отсылает письмо, а почтовик сайта на сервере пересылать не хочет
3 master-vek 1785 17.7.2020, 16:47
автор: DF™
Открытая тема (нет новых ответов) Нужно внести правки в html письмо, сайт на DLE
0 Mukis 1394 2.10.2019, 14:05
автор: Mukis
Открытая тема (нет новых ответов) Составить письмо в обузу Google
собственно описание работы в теме
4 nb001 2534 14.8.2016, 14:59
автор: Scotty
Открытая тема (нет новых ответов) Показ чего-либо при первом входе
1 delegree 5855 26.12.2014, 14:39
автор: -Arks-
Открытая тема (нет новых ответов) Чего хотят rtbsystem?
9 duoseo 5611 16.12.2014, 10:15
автор: TBTextteam


 



RSS Текстовая версия Сейчас: 18.4.2024, 18:17
Дизайн