Ошибки при отправке почты php

I am new to PHP and I’m using the mail function to send emails which is not working. I get a success message, but still it does not work

same code

<?php
    $email_to = "abc@abc.com";
    $email_subject = "Test mail";
    $email_body = "Hello! This is a simple email message.";


    if(mail($email_to, $email_subject, $email_body)){
        echo "The email($email_subject) was successfully sent.";
    } else {
        echo "The email($email_subject) was NOT sent.";
    }
?>

Am I missing anything, do I need to include any files for this function.. I am from asp.net & this is the basic script which found on website.

I tried other scripts related to mail they didn’t work either..

I AM RUNNING THIS SCRIPT ON THE WEBSITE NOT on the localhost

Rich's user avatar

Rich

5,5859 gold badges39 silver badges61 bronze badges

asked Jan 10, 2012 at 13:27

Learning's user avatar

6

If you are using Ubuntu and it seem sendmail is not in /usr/sbin/sendmail, install sendmail using the terminal with this command:

sudo apt-get install sendmail

and then run reload the PHP page where mail() is written. Also check your spam folder.

Cody Gray - on strike's user avatar

answered Jan 19, 2014 at 19:48

Prabhat Kashyap's user avatar

Prabhat KashyapPrabhat Kashyap

9761 gold badge7 silver badges11 bronze badges

1

This is probably a configuration error. If you insist on using PHP mail function, you will have to edit php.ini.

If you are looking for an easier and more versatile option (in my opinion), you should use PHPMailer.

Cody Gray - on strike's user avatar

answered Jan 10, 2012 at 13:30

Orentet's user avatar

OrentetOrentet

2,3531 gold badge17 silver badges28 bronze badges

2

This might be the issue of your SMTP config in your php.ini file.

Since you new to PHP, You can find php.ini file in your root directory of PHP installation folder and check for SMTP = and smtp_port= and change the value to

SMTP = your mail server e.g) mail.yourdomain.com
smtp_port = 25(check your admin for original port)

In case your server require authentication for sending mail, use PEAR mail function.

answered Jan 10, 2012 at 13:40

Robin Michael Poothurai's user avatar

The mail function do not guarantee the actual delivery of mail. All it do is to pass the message to external program (usually sendmail). You need a properly configured SMTP server in order for this to work. Also keep in mind it does not support SMTP authentication. You may check out the PEAR::Mail library of SwiftMailer, both of them give you more options.

answered Jan 10, 2012 at 13:32

Maxim Krizhanovsky's user avatar

Check your SMTP settings in your php.ini file. Your host should have some documentation about what credentials to use. Perhaps you can check your error log file, it might have more information available.

answered Jan 10, 2012 at 13:31

TJHeuvel's user avatar

TJHeuvelTJHeuvel

12.3k4 gold badges37 silver badges46 bronze badges

Тривиальные ситуации, когда имеется непорядок со значением sendmail_path в конфигурации php, решаются легко. Проверьте через phpinfo();, чтобы у вас было задано значение типа /usr/sbin/sendmail -t -i в конфиге, и чтобы за /usr/sbin/sendmail действительно скрывался установленный и работающий MTA. Но сегодня пришлось побеждать менее типовую проблему: из php-скрипта почта как бы отправлялась, но где-то дальше сообщения терялись.

Убеждаемся, что PHP точно пытается отправить почту

Для начала напомню, что начиная с php 5.3 можно включить лог для всей исходящей почты, отсылаемой через функцию mail() из php. Достаточно в конфигурацию php.ini добавить такую настройку:

mail.log = /var/log/phpmail.log

При этом важно, чтобы пользователь, от которого работает php, имел доступ к файлу /var/log/phpmail.log на запись. Рекомендую для комфортной отладки создать файл и позволить всем в него записывать, примерно так:

touch /var/log/phpmail.log
chmod 666 /var/log/phpmail.log

Если у вас php работает как модуль Apache, то перезапустите последний.

Записи в логе будут примерно такие:

mail() on [/var/www/modules/system/system.mail.inc:83]: To: admin@example.tld --
Headers: From: user@example.tld

Если версия php у вас поновее чем 5.3, то в лог добавятся дата и время (что, конечно, очень полезно). Например, PHP версии 5.5.32 точно добавляет дату и время (но с какой в точности версии это началось — я не знаю). Всё-таки главное в этом логе — абсолютный адрес скрипта и номер строки, с которой вызывалась функция.

В общем, следующий тривиальный скрипт должен обязательно оставить след в логе:

<?php
  $to = 'yourmail@example.tld';
  $subject = 'Test email subject';
  $message = 'Test from PHP at ' . date('Y-m-d H:i:s');
  mail($to, $subject, $message);
  echo 'Mail sent';
?>

У меня была как раз такая ситуация: php исправно делал свою работу и записи в логе почты оставлял (ничего при этом не оставляя в логе ошибок).

Проверяем, что письмо может отправить администратор из консоли (без всяких там PHP)

Одновременно с этим почта у меня прекрасно отправлялась из серверной консоли. Проверить можно так:

echo "Test message" | mail -s "Test emal subject" yourmail@example.tld

Если вдруг на вашем сервере нет утилиты mail, то установите пакет mailx вот так:

yum -y install mailx

Анализируем лог postfix

Пришлось заглядывать в лог почтовика. Он пишется в файл /var/log/maillog (актуально для CentOS).

И вот там-то нашлись неприятные записи такого характера:

18:34:31 postfix/sendmail[26381]: fatal: chdir /var/spool/postfix: Permission denied
18:51:16 postfix/sendmail[4603]: fatal: chdir /var/spool/postfix: Permission denied

Даже минимальный опыт общения с линуксом подсказывает, что тут дело либо в несоответствии прав/владельцев, либо в какой-то дефолтной защите, типа фаерволла или… SELinux. В данном случае «виноват» последний.

Отучаем SELinux блокировать почту, отправляемую из PHP

Проверить можно такой командой:

getsebool httpd_can_sendmail

Если вывод будет httpd_can_sendmail --> off, то значит вашу почту блокирует SELinux. Чтобы его от этого отучить на постоянной основе выполните команду:

setsebool -P httpd_can_sendmail 1

И после этого ждите несколько секунд, пока снова не увидите приглашение командной строки. Без ключа -P блокировка снимется только до перезагрузки.

Кстати, пусть вас не смущает, что в параметрах SELinux упомянут httpd. Даже если у вас Apache отсутствует в принципе, а используется, например, связка nginx и php-fpm, то почта всё равно может блокироваться с аналогичными симптомами. Решается проблема точно также и для php-fpm (меняем ту же переменную).

Запрещаем виртуальному хосту отправлять почту

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

Тогда действуем от противного — в настройки виртуального хоста проблемного сайта добавляем параметр:

php_admin_value sendmail_path "/dev/null"

И перезапускаем Apache, чтобы изменения вступили в силу. Либо вы можете включить упомянутый выше параметр SELinux, однако, учтите, что это не поможет, если в вашей системе SELinux отсутствует или перманентно отключен.

  • Light777

Всех приветствую! В PHP не силен. Нужно сделать так, чтобы скрипт отправлял письмо на email.

Есть файл index.html и в нем форма отправки выглядит так:

<form action="mail.php" method="post" id="main_form">
<input name="title" type="text" placeholder="ИМЯ" id="main_name">
<input name="phone" type="text" placeholder="ТЕЛЕФОН" id="main_telephone">
<input name="mess" type="text" placeholder="E-MAIL" id="main_email">
<input type="submit" value="ОТПРАВИТЬ" class="ex_hover">
</form>

И есть отдельный файл mail.php

<?php 
// если была нажата кнопка "Отправить" 
if($_POST['submit']) {
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); 
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
$phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 1000000); 
// $to - кому отправляем 
$to = 'demo@demo.com'; 
// $from - от кого 
$from='test@test.ru'; 
// функция, которая отправляет наше письмо
mail($to, $title, $mess, 'From:'.$from); 
echo 'Спасибо! Ваше письмо отправлено.'; 
} 

?>

Мне надо чтобы после того, как человек оставил заявку мне оно ушло на почту


  • Вопрос задан

    более трёх лет назад

  • 30074 просмотра

Пригласить эксперта

А ты случайно не локально тестируешь? ну opneServer или Денвер ? если да то ищи письма в папки !send или tmp !

if($_POST[‘submit’]) {
не вижу в форме инпута с именем submit

Чтобы функция mail(); работала, у вас как минимум должен быть установлен SMTP служба на сервере, а также настроена обратная зона. Если для вас это сложно, то попробуйте такой вариант:

1. Качайте: swiftmailer.org/download
2. Напишите такой скрипт, который будет отправлять почту через ваш GMAIL аккаунт

<?php
// если была нажата кнопка "Отправить" 
if($_POST['submit']) {
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); 
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
$phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 1000000); 
// $to - кому отправляем 
$to = 'demo@demo.com'; 
// $from - от кого 
$from='test@test.ru'; 
// функция, которая отправляет наше письмо

// подключаем swift_required.php который вы скачала и п.1
require_once '/path/to/swift-mailer/lib/swift_required.php';

// создаем письмо
$message = Swift_Message::newInstance()
  ->setSubject($title)
  ->setFrom(array($from))
  ->setTo(array($to))
  ->setBody($mess);

// настраиваем подключение к gmail
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  ->setUsername('username@gmail.com')
  ->setPassword('password');

// отправляем
$mailer = Swift_Mailer::newInstance($transport);
$mailer->send($message);

Ещё проще письмо можно отправить через PHPMailer.
Да, лучше использовать авторизацию, чтобы письмо с большей вероятностью не попадало в спам.

Попробуй такой вариант кода для mail.php

<?php
//Принимаем значения формы, обрабатываем и заносим в переменные. Эту часть кода в самое начало файла, до DOCTYPE
if (!empty($_POST['title'])) $name = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
if (!empty($_POST['phone'])) $phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 20);
if (!empty($_POST['mess'])) $text = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
?>

<?php
//Формируем письмо. Эту часть кода вставить в любое место между body
if(isset($name,$phone,$text)) {
	$subject = "Форма обратной связи"; //тема сообщения
	$message = "Имя: ".$name."<br>Телефон: ".$phone."<br>Текст: ".$text."<br>"; //содержание сообщение
	$emailto = "emailto@mail.ru"; //e-mail кому
	$emailfrom = "emailfrom@mail.ru"; //e-mail от кого
	$chek = mail($emailto, $subject, $message, "Content-type:text/html; Charset=utf-8rnFrom:".$emailfrom."rn"); //отправляем сообщение
	if($chek) echo "Ваше письмо успешно отправлено!";
	else echo "Ваше письмо не отправлено!";
}
else {
	echo "Вы заполнили не все поля!";
}
?>

p.s. проблема неработоспособности твоего кода была в том что ты не передавал значение submit и проверка if($_POST[‘submit’]) не проходила. Мой вариант отправки письма лучше, но и его можно дорабатывать под особые случаи, но в 90% случая будет работать как надо. Сам я использую именно такой.

а может быть лучше вот такой вариант?

$headers = "From: test@test.ru <test@test.ru>rn"; 
$headers .= "Content-type: text/html; charset=utf-8";


$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); 
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
$phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 1000000);

if(empty($title))
die("Отсутствует заголовок");

if(empty($mess))
die("Отсутствует сообщение");

if(empty($phone))
die("Отсутствует телефон");


$msg = $mess."<br />".$phone;

$to = 'demo@demo.com';

if(mail($to, $title, $msg, $headers)) {
die("Успешно");
} else {
die("Сообщение не отправлено");
}

притом что этот вариант поддерживает html теги в письмах.

Проблема в коде отправки
Плагин отправляет от имени пользователя заполняющего форму.
Проблема решается , описано тут
Отправляет как стандартными средствами, так и с плагином smtp


  • Показать ещё
    Загружается…

10 июн. 2023, в 04:04

4000 руб./за проект

10 июн. 2023, в 01:43

6500 руб./за проект

10 июн. 2023, в 00:17

5000 руб./за проект

Минуточку внимания

Chese

Guest


  • #1

Отловить в PHP ошибку при отправлении почты(mail)

Функция mail возврашает TRUE или FALSE, а можно ли при FALSE отловить, почему именно не ушло письмо т.е. код ошибки.

  • #2

используй [m]imap_mail[/m]
тексты ошибок — через [m]imap_errors[/m], [m]imap_last_error[/m]

Chese

Guest


  • #3

А если нет imap, его в самом деле нет :)

  • #4

тогда все пропало.
в исходниках нет возврата ошибок — есть либо TRUE, либо FALSE

Код:

        if (php_mail(to, subject, message, headers, extra_cmd TSRMLS_CC)) {
                RETVAL_TRUE;
        } else {
                RETVAL_FALSE;
        }

Chese

Guest


  • #5

Понято, значит будем просто ругаться без объяснения причин.

  • #6

Автор оригинала: Chese
Понято, значит будем просто ругаться без объяснения причин.

Что кстати не корректно:) Но другого выхода нет…

Barlone

Guest


  • #7

Re: Отловить в PHP ошибку при отправлении почты(mail)

Автор оригинала: Chese
Функция mail возврашает TRUE или FALSE, а можно ли при FALSE отловить, почему именно не ушло письмо т.е. код ошибки.

Не уйти оно может только по одной причине — в php.ini путь к sendmail указан неправильно.

Chese

Guest


  • #8

Не уйти оно может только по одной причине — в php.ini путь к sendmail указан неправильно

Ну по чему? ;) Если емайл верный, а записи в DNS про домен нет, или у Sendmail переполнена очередь и он не возьмет в отправку….

Barlone

Guest


  • #9

Если емайл верный, а записи в DNS про домен нет

… то письмо успешно передастся sendmail’у, а вот он уже не сможет его доставить. Очередь переполнена? Ну не знаю, тестировать не возьмусь :)

trolik

Guest


  • #10

зачем юзать функцию mail?
передавай парметры sendmail и пиши тело письма с заголовками ему же… а потом анализируй код возврата

-ViT-

Guest


  • #11

А вот что сегодня выдал броузер….

Автор оригинала: tony2001
тогда все пропало.
в исходниках нет возврата ошибок — есть либо TRUE, либо FALSE

Я как раз сегодня добрался до функции mail. Иногда пропадает переменная сессии и в качестве e-mail передается пустое поле — и тогда броузер пишет (цитирую):

Warning: Bad Message destination in F:WEBProjectsinetpubwwwrootPHPDevelopingRegform2.phtml on line 73

То есть какая-то же диагностика есть?? :confused:

Barlone

Guest


  • #12

Под виндой mail работает совсем не так, как под unix.

  • #13

ViT:
какая диагностика ?
неправильный аргумент приходит — вот и ошибка.
проверяй ДО и все будет ок.
исходники посмотри — там все достаточно ясно.

-ViT-

Guest


  • #14

2 tony2001: — это я знаю, и в данном случае потерянный аргумент — это нормально, это стадия отладки у меня шла… Я просто хочу спросить (абсолютно ПО теме топика) — что раз пришло такое сообщение, значит все же что-то как-то диагносцируется? В исходниках (приведенных тобой) — все совершенно ясно, простейшая конструкция.. Но кто тогда вернул мне этот мессадж? :)

2 Barlone: ты прав, это PHP у меня крутится под IIS, и клиент, с которого снято сообщение — WinXP/Opera. Но ведь ядро PHP (сорцы) — одинаково или тоже нет?

  • #15

речь шла о том «как определить почему не доставляется письмо».
так ?
логично предположить, что элементарная проверка на «а что нам передали как е-мэйл?» там присутствует.
так ?
вот ты видишь ее результат.
более подробно — смотри исходники.

честно говоря, немного не понимаю понятия «диагностика».
если проверка аргумента — это диагностика, то да, диагностика есть.

Barlone

Guest


  • #16

Специально посмотрел в исходники РНР :)
Для Win (#ifdef PHP_WIN32) там идет отправка по smtp, и какие-то ошибки в smtp-сессии видимо отлавливаются.
Для не-win никаких проверок не делается, popen’ом открывается sendmail, ему пихаются «To:», «Subject:», остальные заголовки (как есть) и тело письма. Ошибка может быть только одна: «Could not execute mail delivery program» если popen не сработал.

-ViT-

Guest


  • #17

2 Barlone:
Вот спасибо, а то я никак до исходников не доберусь! :(
Лично мне так механизм стал намного понятнее!
Следовательно, если переносить хост на Unix-сервера, то надо вновь очень тщательно тестить/вычищать/модернизировать все скрипты…. мда, жаль :(

  • #18

http://cvs.php.net/co.php/php4/ext/standard/mail.c?login=2&r=1.66.2.1
смотреть
php_mail() & PHP_FUNCTION(mail)

Barlone

Guest


  • #19

Ну тестить-то надо в любом случае. :) Модернизировать ? Зачем ? Если письмо формируется правильно, без разницы, как оно отправляется.
Кстати, если указать sendmail_path под виндой, то он будет использоваться, и отправляться как на unix. Остается только найти sendmail под винду. :)

Chese

Guest


  • #20

Автор оригинала: trolik
зачем юзать функцию mail?
передавай парметры sendmail и пиши тело письма с заголовками ему же… а потом анализируй код возврата

Молчит как партизан sendmail

PHP:

error_reporting(E_ALL);
$mailer = popen ("/usr/sbin/sendmail -t -i","w");
fwrite ($mailer,"Subject: Test
From: [email][email protected][/email]
To: [email protected]@aaa.com

Test!!!
");
$read = fread($mailer, 2096);
echo $read;
pclose ($mailer);

PHP_Deep_25.12-5020-ea7d14.png

В этой статье пойдет разговор о том, как выполнить настройку своего Mail на PHP. Рассмотрим особенности использования Mail, что делать, если письма не отправляются, как выполняется отправка с вложением и какие бывают проблемы с кодировкой.

PHP_Pro_970x90-20219-56a643.png

Какой бы интернет-проект на PHP вы не сделали, на нём должна быть форма обратной связи, что особенно актуально для проектов коммерческого направления. А значит, вам не обойтись без функции mail. Что же, давайте посмотрим, как использовать эту функцию для отправки сообщений.

Лирическое отступление

Прежде чем двигаться дальше, давайте немного вспомним теорию. Чтобы отправлять письма, нам потребуется почтовый сервер SMTP. Но это не проблема, т. к. он есть практически на всех современных платных хостингах. SMTP — сетевой протокол (protocol), используемый для передачи почты в сетях TCP/IP. Почтовые серверы и прочие агенты пересылки задействуют SMTP для получения и отправки сообщений.

Для приёма почты нам понадобится POP-сервер. Также следует понимать, что сам по себе PHP не отправляет сообщение, а лишь передаёт команды приложению sendmail — именно оно занимается отправкой, следовательно, его нужно иметь (если используете Денвер, то данное приложение уже встроено). Вдобавок ко всему, все сообщения почты помещаются в директорию под названием «tmp/!sendmail».

Как настроить mail?

Настройка выполняется в конфигурационном файле php.ini. В этом файле нужно прописать путь к лог-файлам, а также задать значения порта.

Общее описание функции:

Screenshot_4-1801-3d9772.png

Список основных параметров:
1. to — получатель (получатели) письма. Формат должен соответствовать » RFC 2822. Пример — [email protected];
2. subject — тема отправляемого письма;
3. message — отправляемое сообщение. Строка отделяется символом CRLF (rn). Сами строки не д. б. длиннее семидесяти символов.
4. additional_headers — этот параметр является необязательным. Обозначает строку либо массив, которые вставляются в самый конец отправляемых заголовков.
5. additional_parameters — тоже необязателен. Используют для передачи дополнительных флагов в качестве аргументов командной строки для программы, которая сконфигурирована для отправки писем и указана директивой sendmail_path. К примеру, есть возможность установить отправителя при применении sendmail и с помощью опции -f.

Приведём пример:


Если вы являетесь веб-мастером и используете Денвер, то информация, которая будет вами отправлена, сохранится на виртуальном диске Z в папке «tmp!sendmail».

PHP_Pro_970x90-20219-56a643.png

Особенности использования

Работа функции mail в PHP зависит от ряда нюансов, включая вид операционной системы, выполненные настройки и параметры. Вот некоторые особенности:
— во время отправки письма заголовок Form задаётся через необязательный параметр «additional_headers». Если его нет, нередко возникает ошибка при отправлении;
— заголовки разделяйте символами перевода на новую строку и перевода каретки (rn);
— следите, чтобы длина строки не превышала 70 знаков, для регулировки тоже используйте (rn).

Что делать, если функция не отправляет письма?

Даже если учесть всё вышеперечисленное, mail в PHP иногда не работает, причём на локальном сервере всё отправляется нормально. Одна из причин — некорректная настройка функции непосредственно на хостинге. Для решения проблемы рекомендуется обратиться к конфигурационному файлу php.ini и посмотреть на параметры функции «disable_functions». Дело в том, что нужная вам функция mail() может не работать, если она занесена в php.ini в раздел запрещённых (disable_functions).

1-20219-7653bc.jpg

Идём дальше. Мы можем проверить работоспособность, написав простой код и разместив его в корневом каталоге созданного веб-проекта (сайта):


Если всё функционирует верно, на экране браузера мы увидим цифру один — «1». Её нам вернёт «print» после выполнения. В качестве кодировки рекомендуется использовать UTF-8.

2-20219-865104.jpg

Важный момент! Если вы в качестве локального сервера используете OpenServer, то письма будут сохраняться в папке C:openserveruserdatatempemail. Естественно, если вы его установили на локальный диск «С».

Отправка с вложением

Давайте посмотрим, как отсылать сообщения, включающие в себя прикреплённый файл. Воспользуемся для этого функцией sendMailAttachment():

<?
$file = "./files/test.txt"; // прописывается путь к тому файлу, который надо отправить
$mailTo = "[email protected]"; // адрес отправителя
$from = "[email protected]"; // от кого письмо (от чьего имени)
$subject = "Test file"; // тема
$message = "Текст с вложением"; // содержимое письма
$r = sendMailAttachment($mailTo, $from, $subject, $message, $file); // отправка письма c вложением
echo ($r)?Отправлено':'Ошибка. Письмо не отправлено!';
//$r = sendMailAttachment($mailTo, $from, $subject, $message); // отправка без вложения
//echo ($r)?Отправлено':'Ошибка. Письмо не отправлено!';
?>

Проблемы с кодировкой

Бывает, что после доставки сообщения поступают в виде вопросов «?» либо каких-то непонятных символов. Это свидетельствует о проблемах с кодировкой. Проблема может заключаться в заголовке From. Такие заголовки по стандарту должны быть в US-ASCII. Существуют 2 формы кодирования —BASE64 и Quoted-Printable. BASE64 более универсальна и может работать с UTF-8, поэтому лучше использовать ее. Пример:

Screenshot_2-1801-1ee0b4.png

Однако в данном варианте заголовки могут быть нечитаемы. Для решения данной проблемы следует написать заголовок так:

Screenshot_3-1801-f2c752.png

Также необходимо использовать исключительно кодировку UTF-8.

Как видите, работа функции mail в PHP совсем несложна. Да, мы рассмотрели лишь наиболее распространённые ошибки, возникающие при её реализации. Однако никто не мешает повысить свои навыки PHP-программирования на наших курсах.

PHP_Pro_970x550-20219-163a8f.png

Источники:
https://www.php.net/manual/ru/function.mail.php;
https://start-luck.ru/sozdanie-sayta/php-funkciya-mail.html.

Возможно, вам также будет интересно:

  • Ошибки при отправке отчетности в пфр
  • Ошибки при отправке в референте
  • Ошибки при отправке больничного через сбис
  • Ошибки при отливке гипсовой модели
  • Ошибки при открытии файла в кореле

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии