Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2017, 11:33   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию Отправка Email средствами PHP

Доброго времени суток!

Подскажите пожалуйста что нужно сделать для отправки Email из php поставил этот скрипт для теста сменил конечно же адреса почты письма не приходят не на одну почту не яндекса и не майла

Код:

<?php
// отправка нескольким адресатам
$to  = 'friend@yourmail.ru' . ', '; // кому отправляем
// не забываем запятую. Даже в последнем контакте лишней не будет
// Для начинающих! $to .= точка в этом случае для Дописывания в переменную 

// содержание письма
$subject = "Тема сообщения";
$message = '
<html>
    <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Тема страницы</title>
    </head>
    <body>
        <p>А здесь ваше сообщение</p>
    </body>
</html>';

// устанавливаем тип сообщения Content-type, если хотим
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";

// дополнительные данные
$headers .= "From: yournick <yournick@yourmail.ru>\r\n"; // от кого
$headers .= 'Cc: secondnick@example.com' . "\r\n"; // копия сообщения на этот адрес
$headers .= "Bcc: yournick-archive@yourmail.ru\r\n"; // скрытая копия сообщения на этот
mail($to, $subject, $message, $headers);
?>
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 19.10.2017, 12:00   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Тестируешь локально – или на хостинге?
Andkorol вне форума Ответить с цитированием
Старый 19.10.2017, 12:44   #3
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Тестируешь локально – или на хостинге?
Тестил на хотинге
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 19.10.2017, 12:52   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
Тестил на хотинге
значит, проблема на хостинге.
если не работает банальное:

PHP код:
$result mail('admin@hoster.ru''subject''message');

if(
$result)
{
    echo 
'все путем';
}
else
{
    echo 
'что-то не так';

то у Вас два выхода решения проблемы:
1) общаться с админами/поддержкой хостинга, чтобы они настроили работу системного мейлера (у Вас на хостинге нет доступа к настройкам)

2) использовать что-то другое вместо стандартной функции mail()
например, PHPMailer.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.10.2017, 12:59   #5
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
значит, проблема на хостинге.
если не работает банальное:

PHP код:
$result mail('admin@hoster.ru''subject''message');

if(
$result)
{
    echo 
'все путем';
}
else
{
    echo 
'что-то не так';

то у Вас два выхода решения проблемы:
1) общаться с админами/поддержкой хостинга, чтобы они настроили работу системного мейлера (у Вас на хостинге нет доступа к настройкам)

2) использовать что-то другое вместо стандартной функции mail()
например, PHPMailer.
Вывод вашего скрипта

Код:
все путем
А писем нет =)
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 19.10.2017, 13:24   #6
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Вопрос вроде решил с помощью PHPMailer этот вариант даже лучше оказался чем просто использовать mail().

О результате потом напишу все подробно
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 19.10.2017, 14:11   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
Вывод вашего скрипта

Код:
все путем
А писем нет =)
Да в спаме они
Andkorol вне форума Ответить с цитированием
Старый 24.10.2017, 08:31   #8
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Да в спаме они
Не мог раньше ответить. Прежде чем написать что писем нет я проверил все папки куда может попасть почта в том числе и папку со спамом
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 24.10.2017, 16:36   #9
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Доброго времени суток!

Не как не могу победить отправления почты с сайта и так начну с самого скрипта

Код:

<?php

// Кому
$to = 'test@yandex.ru';

// От кого
$name = 'МОЙ_ДОМЕН.ru';
$from = 'test@МОЙ_ДОМЕН.ru';

// Тема
$subject = 'Тема сообщения';

// Сообщение
$message = 'test.';

// Заголовок
$headers = "";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=\"windows-1251\"\n";
$headers .= "From: \"".$name."\" <".$from.">\n";
$headers .= "Return-Path: <".$from.">\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-Mailer: ".$name."\n";

$to = preg_replace("/[ \t]+/", "", $to);
$from = preg_replace("/[ \t]+/", "", $from);

$to = preg_replace("/,,/", ",", $to);
$from = preg_replace("/,,/", ",", $from);

$to = '<'.preg_replace("#\#\[\]'\"\(\):;/\$!Ј%\^&\*\{\}#", "", $to).'>';
$from = preg_replace("#\#\[\]'\"\(\):;/\$!Ј%\^&\*\{\}#", "", $from);

$message = str_replace("\r", "", $message);

if (!preg_match("/^<.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)>$/", $to)) die('Неверный формат E-Mail адресса!');

// Отправка
if (!@mail($to, $subject, $message, $headers)) print 'Ошибка отправки!';
else print 'Письмо отправлено!'; 

?>
Отправляю письмо на yandex все приходит без проблем а на маил или рамблер письма не приходят вообще ни куда не в спам и не входящие . Как сделать так что бы письма вообще приходили хотя бы в спам?
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 24.10.2017, 18:06   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Зачем «собака» перед mail?
Уже ж писали выше рекомендацию использовать для отправки нормальную библиотеку, с возможностью логирования и дебага. Без этого ошибку не найти.
Если отправка через mail не выдаёт «Ошибка отправки!» – значит, проблема или в заголовках, или в настройках почтового сервера на хостинге.
Можно протестить, попытавшись отправить письмо с того же адреса через Почтовый клиент прямо из Панели Управления хостингом (если там есть такой сервис, само собой) – если и так не дойдут письма, значит проблемы в настройках почтового сервера на хостинге (отправляет с некорректными заголовками), такое часто бывает на дешевых шаред-хостингах.
Цитата:
Сообщение от s88s Посмотреть сообщение
Отправляю письмо на yandex все приходит без проблем а на маил или рамблер письма не приходят вообще ни куда не в спам и не входящие
У почтовых сервисов разные настройки спам-фильтров.
Одни пропускают частично письма с некорректными заголовками – другие рубят их на входе, не пропуская даже в Спам.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка на email beygul HTML и CSS 9 07.11.2012 14:57
Отправка curl email gunsoy PHP 2 01.08.2012 11:39
email средствами VBA mister_pog Microsoft Office Access 3 08.06.2011 22:26
Отправка по email DeDoK Общие вопросы Delphi 6 19.04.2011 11:41
Отправка файла на Email rust-02 Работа с сетью в Delphi 1 28.08.2010 12:35