Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 2
Регистрация: 17.01.2015
Сообщений: 170
1

отправка письма

07.12.2017, 17:38. Просмотров 939. Ответов 5
Метки нет (Все метки)


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

Вот скрипт письма.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        $subject = 'You have successfully registered';
        
        $message = '
            <html>
            <head>
                <title>Successfully registered</title>
            </head>
            <body>
                <p>Congratulations on your successful registration</p>
                <p>To log in, use the information you provided during registration</p>
                <p>Your login: <span style="color: blue;">'.$login.'</span></p>
                <p>Your password: <span style="color: blue;">'.$password.'</span></p>
                <p>To complete the registration, follow the link <a href="http://amazingvirt.org/activate.php?code='.$code.'">http://amazingvirt.org/activate.php?code='.$code.'</a></p>
                <p>If you did not register on the amazingvirt, delete this email</p>
            </body>
            </html>
        ';
        
        
        $headers = 'Content-type: text/html; charset=utf-8' . "\r\n"; 
        
        $headers .= "suport@amazingvirt.org\r\n"; 
        
        
      
        mail($email, $subject, $message, $headers);
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2017, 17:38
Ответы с готовыми решениями:

Отправка письма php. Письма со скрипта на локальном сервере (Denwer) не приходят на почту.
Доброго Времени Суток!!! Я запускаю Денвером php скрипт со следующим кодом &lt;?php $name=$_GET;...

Отправка письма
добрый вечер, нужна помощь есть сайт на хостинге timeweb, через панель управления создал ящик...

Отправка письма
Скрипт должен брать текст из textarea вставлять в письмо и присылать на ящик, но приходит только...

отправка письма
создал на сайте форму для отправки почты на мыло...письмо приходит, но вот не корректные данные :...

5
Заводной мандарин
1065 / 627 / 239
Регистрация: 05.05.2015
Сообщений: 3,543
Записей в блоге: 2
07.12.2017, 22:17 2
Лучший ответ Сообщение было отмечено Demiurge как решение

Решение

Цитата Сообщение от Demiurge Посмотреть сообщение
$headers .= "suport@amazingvirt.org\r\n";
Упустили From:

Цитата Сообщение от Demiurge Посмотреть сообщение
Вторая проблема, что на яндекс и маил, письмо приходит в спам.
Вообще, Вам придется отдельно почитать про mail() и вообще рассылку почты потщательнее, тема непростая.
Во-первых, такие просто составленные хедеры mail.ru и яндекс не пропустят. Во-вторых, не соответствующий реальному, то есть
Цитата Сообщение от Demiurge Посмотреть сообщение
дефолтный адрес сервера
адрес тоже заставит их послать письмо в спам.

Есть одно в некотором смысле более предпочтительное решение - smtp, например, из недавних вот как у чувака Smtp рассылка на несколько адресов
1
294 / 245 / 66
Регистрация: 15.09.2017
Сообщений: 1,142
08.12.2017, 03:48 3
Как будто mail() отправляет не при помощи SMTP, хотя нет, может еще при помощи LMTP Писать отправку по SMTP прямо на PHP - это от безысходности.

Demiurge, перед Content-Type нужен заголовок MIME-Version. При использовании многобайтовой кодировки нужно указывать способ представления. Формально даже для однобайтовой нужно. Не нужно только для стандартной 7-битной.

А далее настройки сервера и домена для обеспечения должных SPF, PTR, DKIM, DMARC, шифрования и т.д. Не можете, воспользуйтесь советом Joey. Лучше притвориться клиентом и делать отправку через собственный ящик у какой-нибудь популярной почтовой службы, которая знает про все те страшные слова, которые я выше перечислил.
1
Заводной мандарин
1065 / 627 / 239
Регистрация: 05.05.2015
Сообщений: 3,543
Записей в блоге: 2
08.12.2017, 20:02 4
Цитата Сообщение от Phantom-84 Посмотреть сообщение
Как будто mail() отправляет не при помощи SMTP
Я про
Цитата Сообщение от Phantom-84 Посмотреть сообщение
Лучше притвориться клиентом и делать отправку через собственный ящик у какой-нибудь популярной почтовой службы
Цитата Сообщение от Phantom-84 Посмотреть сообщение
А далее настройки сервера и домена для обеспечения должных SPF, PTR, DKIM, DMARC, шифрования и т.д.
Я правильно понимаю, это на случай выделенного или своего сервера? В случае обычного платного хостинга можно goto первый совет

Добавлено через 31 секунду
Цитата Сообщение от Phantom-84 Посмотреть сообщение
Demiurge, перед Content-Type нужен заголовок MIME-Version
С mail.ru у меня лично не прокатывает, все равно в спам
0
1 / 1 / 2
Регистрация: 17.01.2015
Сообщений: 170
08.12.2017, 22:29  [ТС] 5
Спасибо всем кто помог, сделал через SMTP)
0
294 / 245 / 66
Регистрация: 15.09.2017
Сообщений: 1,142
09.12.2017, 14:36 6
Цитата Сообщение от Joey Посмотреть сообщение
Я правильно понимаю, это на случай выделенного или своего сервера?
Я же написал, что делать это на PHP - самый крайний случай, до которого лучше не доводить. Нормальные хостеры предоставляют все возможности для программной отправки писем с хорошей репутацией, в том числе борются с клиентами-спамерами. Имя почтового сервера может фигурировать только в заголовке Return-Path, который обычно не видят получатели. Конфигуратор для подписания писем они могут и не предоставлять, тогда можно подписывать на PHP - это относительно небольшой объем работы (можно отнести к той же работе с заголовками, которой обычно занимаются скрипты).
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2017, 14:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отправка письма
Всем привет! есть файл с кодом: &lt;?php function selfurl() { $s =...

Отправка письма
$from = 'admin@site.ru'; $subject = &quot;Регистрация на сайте site.ru&quot;; $message...

Отправка письма на 2 ящика
Всем привет, есть такой обработчик формы:\ &lt;?php $method = $_SERVER; //Script Foreach $c =...

Отправка письма с вложением
Здравтсвуйте! У меня такая функция: Function sentMail($from, $to, $subject, $body) { global...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.