Среда, 24 Апреля 2024, 10:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Дополнительные темы » Вебмастеринг » Как отправить письмо с сайта (на Hostinger.ru это вообще реально?)
Как отправить письмо с сайта
andarkyДата: Суббота, 15 Декабря 2012, 21:07 | Сообщение # 1
старожил
Сейчас нет на сайте
У меня 2 аккаунта на Hostinger.ru
РНР-скрипты работают (проверено гостевухой).

Я завел почтовый ящик к своему аккаунту
перепробовал более 10 разных скриптов:
некоторые честно пишут НЕ СРАБОТАЛ СКРИПТ ну или другую ошибку
а некоторые - УСПЕШНО ОТПРАВЛЕНО - а ящики пустые... (я себе на Gmail отправлял)
в спаме тоже нет...

РНР я незнаю, покопался в скриптах и понял что везде ф-ция mail() это делает.
еще какие методы SMTP есть но я там ничего не понял...

вообще ОТПРАВКА ПИСЕМ С САЙТА на Hostinger.ru (бесплатный тариф) это возможно?

или что мне тогда делать?



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
lvovandДата: Суббота, 15 Декабря 2012, 21:34 | Сообщение # 2
старожил
Сейчас нет на сайте
а что функция mail() возвращает?
может gmail просто не хочет принимать письма конкретно от данного сайта


Разработка и продвижение сайтов. Дизайн
TimKruzДата: Суббота, 15 Декабря 2012, 22:55 | Сообщение # 3
старожил
Сейчас нет на сайте
andarky, на хостингере жёсткие ограничения на функции отправки почты. Это чтобы нельзя было на бесплатном тарифе сделать спам-бота. Платные тарифы, скорей всего, не имеют таких ограничений, или они более мягкие. Вот ограничения бесплатного тарифа:
Quote
Массовая рассылки писем запрещена на наших серверах. Работа аккаунта будет остановлена. Вы можете отсылать до 100 писем в час (2400 писем в день). Также, Вы не можете отсылать больше чем 30 писем на протяжении 5 минут. Однако, мы разрешаем Вам отсылать 20 писем в минуту используя php функцию mail() и это не входит в ограничения, которые описаны выше.


Почтовый сервер 100% должен принимать правильно отправленные письма; возможно, ты их неправильно отсылаешь. Покажи-ка свой код...
Может, ты оформляешь письмо так, что оно похоже на спам, а в твоём ящике включена автоматическая очистка спама...


andarkyДата: Пятница, 11 Января 2013, 15:28 | Сообщение # 4
старожил
Сейчас нет на сайте
TimKruz,
у меня заработало
Код

         $name=$_POST['name']; $email=$_POST['email']; $subject=$_POST['subject']; $message=$_POST['message'];  
         $to="anroiddext@bk.ru";
         if ($name && $email && $message)
         {  
             $message="$name этот написал, его email: $email. Тема письма: $subject \n сообщение: \n $message";  
              $mail = mail($to, $subject, $message, "From: $email Content-type: text/plain; charset=windows-1251");        }



НО! из кода видно: anroiddext@bk.ru
а мне надо andarkya@Gmail.com - что НИКАК не работает...

и РУССКИЙ текст тоже не работает.
Латиница и цифры приходят на MAILовский ящик

и еще (небольшая проблемка): в конце ставится кусок кода Content-type: text/plain; charset=windows-1251
я это с форума HOSTINGER.RU содрал, как исправить?



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
friendДата: Пятница, 11 Января 2013, 15:50 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Цитата (andarky)
и еще (небольшая проблемка): в конце ставится кусок кода Content-type: text/plain; charset=windows-1251
я это с форума HOSTINGER.RU содрал, как исправить?

что исправить? можешь в место windows-1251 выставить utf-8, тогда проблемы с Русскими буквами должны пропасть.
читать оф справку не пробовал?
andarkyДата: Пятница, 11 Января 2013, 16:18 | Сообщение # 6
старожил
Сейчас нет на сайте
friend,
да это я уже пробовал - вообще биллибирда приходит.
И вообще месяц назад делал флеш сайт с отправкой писем (ПХП не я писал)
так вот тогда у нас была обратная проблема - меня просили чтоб флеш выдавал 1251
потомучто у заказчика MAIR.RU-адрес

вот у меня щас всё работает на MAIR.RU (anroiddext@bk.ru) все приходит, только без русского (даже биллибирда не приходит)
на латинице ОК



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
friendДата: Пятница, 11 Января 2013, 16:32 | Сообщение # 7
почетный гость
Сейчас нет на сайте
andarky, почитай про функцию iconv() может она поможет.
по гуглив нашел вот такую функцию, по пробуй
Код
function mail_utf8($to, $from, $subject, $message)
{
     $subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
   
     $headers  = "MIME-Version: 1.0\r\n";  
     $headers .= "Content-type: text/plain; charset=utf-8\r\n";
     $headers .= "From: $from\r\n";
   
     return mail($to, $subject, $message, $headers);
}
   
// пример использования
mail_utf8('to-user@gmail.com', 'no-reply@example.ru', 'Заголовок сообщения', 'Текст сообщения');


Сообщение отредактировал friend - Пятница, 11 Января 2013, 16:35
dima9595Дата: Пятница, 11 Января 2013, 16:49 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
andarky, я конечто не шарю сильно в php, но ты покажи полный скрипт отправки писем...

andarkyДата: Среда, 23 Января 2013, 14:48 | Сообщение # 9
старожил
Сейчас нет на сайте
вот код:
Код

<?php  
     $q=$_POST['q'];  
     if ($q)  
     {  
         $name=$_POST['name']; $email=$_POST['email']; $subject=$_POST['subject']; $message=$_POST['message'];   
         $to="anroiddext@bk.ru";
         if ($name && $email && $message)
         {  
             $message="$name этот написал, его email: $email. Тема письма: $subject \n сообщение: \n $message";  
              $mail = mail($to, $subject, $message, "From: $email Content-type: text/plain; charset=UTF-8");        }
     }
?>
<html>
     <body>
         <form action="" method="post">
         <table>
             <tr> <td> Ваше имя* </td> <td> <input type="text" name="name">    </td> </tr>
             <tr> <td> Ваш еmail* </td> <td> <input type="text" name="email"> </td> </tr>
             <tr> <td> Тема письма </td> <td> <input type="text" name="subject">    </td> </tr>
             <tr> <td valign="top"> Сообщение* </td> <td> <textarea name="message"> </textarea> </td> </tr>  
             <tr> <td> <input type="submit" value="Отправить"> </td> </tr>  
             <tr> <td colspan=2>  
<?php  
     if ($q)  
     {  
         if (!$name || !$email || !$message) echo "Пожалуйста, заполните все обезятельные поля";   
         else if ($mail) echo "Письмо успешно отправлено";  
     }  
?> </td> </tr>  
         </table>  
         <input type="hidden" name="q" value="1">  
         </form>  
     </body>  
</html>  

Добавлено (23.01.2013, 14:48)
---------------------------------------------
никто ничем не поможет?



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
lvovandДата: Среда, 23 Января 2013, 15:27 | Сообщение # 10
старожил
Сейчас нет на сайте
попробуй не просто mail() вызывать, а использовать библиотеку PHPMailer
тогда можно будет авторизоваться на каком-нибудь smtp-сервере и через него отправлять


Разработка и продвижение сайтов. Дизайн
EAppsДата: Среда, 23 Января 2013, 16:22 | Сообщение # 11
был не раз
Сейчас нет на сайте
Как-то так:
Код
<?php
header("Content-Type: text/html; charset=utf-8");
if($_POST['submit'])
{
  $to = 'andarkya@gmail.com';
  $U_MESSAGE = '';
  if(!$_POST['mail']) $U_MESSAGE .= "Введите ваш адрес электронной почты.<br>\n";
  if(!$_POST['message']) $U_MESSAGE .= "Напишите сообщение.<br>\n";
  if(!$_POST['subject']) $U_MESSAGE .= "Укажите тему письма.<br>\n";
  if(!$_POST['name']) $U_MESSAGE .= "Укажите ваше имя.<br>\n";
  if($U_MESSAGE == '')
  {
   $message = "От: " . $_POST['name'] . " <" . $_POST['mail'] . ">\n" . $_POST['message'];
   $headers = "From: " . $_POST['name'] . " <" . $_POST['mail'] . ">; Content-Type: text/plain; charset=KOI8-R";
   if(mail($to, $_POST['subject'], $message, $headers))  
   {
    $U_MESSAGE .= "Письмо успешно отправлено.";
    $_POST = array();
   }
   else $U_MESSAGE .= "При отправке письма возникла ошибка";
  }
}
?>
<html>
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  </head>
  <body>
   <form method="post">
    <table>
     <tr><td colspan="2"><?=$U_MESSAGE?></td></tr>
     <tr><td>Тема письма:</td><td><input type="text" name="subject" value="<?=$_POST['subject']?>"></td></tr>
     <tr><td>Ваше имя:</td><td><input type="text" name="name" value="<?=$_POST['name']?>"></td></tr>
     <tr><td>Ваш e-mail:</td><td><input type="text" name="mail" value="<?=$_POST['mail']?>"></td></tr>
     <tr><td colspan="2">Cообщение:<br><textarea name="message"><?=$_POST['message']?></textarea></td></tr>
     <tr><td colspan="2" style="text-align: center;"><input type="submit" name="submit" value="Отправить письмо"></td></tr>
    </table>
   </form>
  </body>
</html>

Проверил, на мою gmail-почту письма успешно приходят. Обязательно в своей почте проверяйте папку "спам", вполне вероятно что gmail письма с вашего хостинга автоматом туда отправляет.
andarkyДата: Среда, 23 Января 2013, 16:24 | Сообщение # 12
старожил
Сейчас нет на сайте
EApps,
спасибо!
Вечером попробую...



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
Форум игроделов » Дополнительные темы » Вебмастеринг » Как отправить письмо с сайта (на Hostinger.ru это вообще реально?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг