powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / отправка писем
22 сообщений из 22, страница 1 из 1
отправка писем
    #37834665
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно отправить через хостинг письмо. посылаю в строке после вопросительного знака до миллиона символов. если символов мало, письмо доходит. если много - нет.вот строка кода php на хостинге
Код: php
1.
$string = fgets($file, 1024);

подозреваю, что длиннее 1024 символов текст письма не может быть, да? подскажите плз как исправить
...
Рейтинг: 0 / 0
отправка писем
    #37834669
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сори, не то скопировал. вот:
Код: php
1.
2.
$text = join('',array_map('chr',str_split($_GET["text"],3)));
mail($_GET["email"], "qlewer", $text);

воть. тут вроде никаких ограничений нет. но письмо не отправляетя. мб из-за запрещённых символов?
...
Рейтинг: 0 / 0
отправка писем
    #37834683
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какова максимальная длина строки в переменной? может, текст тупо не вмещается? или хз
...
Рейтинг: 0 / 0
отправка писем
    #37834734
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот в ограничение на "после вопросительного знака" Вы как раз и вперлись. Отсылайте методом POST, там стандартные ограничения выше.
...
Рейтинг: 0 / 0
отправка писем
    #37834746
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

я, видимо, как-то коряво объяснил. отсылаю из exe программы на хостинг http строку такого вида http://мойхост/мойфайл.php?email=мыло&text=123123123
потом приведённым во 2м смс коде при помощи mail пытаюсь отослать письмо. но оно иногда не отправляется: то ли письмо слишком длинное, то ли символы в тексте письма как-то влияют, то ли ещё что. а вместо чего юзать POST не очень понял. POST разве умеет отсылать сообщения на почту?
...
Рейтинг: 0 / 0
отправка писем
    #37834784
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Above0вместо чего юзать POST не очень понялВместо метода GET (который с вопросиком), который сейчас используете. Ограничения на "чистоту" символов в методе GET тоже имеются - есть много символов, которых в строке запроса быть не должно. При небходимости передачи таких символов, их придется заенкодить, и получится что один символ займет три байта. Для POST таких ограничений нет, можно бинарные данные передавать (именно так загружаются файлы через веб-форму).
...
Рейтинг: 0 / 0
отправка писем
    #37834785
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Above0POST разве умеет отсылать сообщения на почту?Нет, не умеет. И метод GET, который Вы сейчас используете, тоже не умеет
Запросы принимаются от Вашей программы и сообщения на почту отсылаются где-то внутри скрипта "мойфайл.php".
...
Рейтинг: 0 / 0
отправка писем
    #37834838
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

спс за ответы, буду вникать, отпишу о результатах. сейчас написал код альтернативной отправки - без php. на случай, если проблему исправить не удастся
...
Рейтинг: 0 / 0
отправка писем
    #37834848
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

т.е. в php я просто заменил все &_GET на $_POST, всё правильно? vkleОтсылайте методом POST, там стандартные ограничения выше а какие именно ограничения? я заблокировал посылку символов # & % + $ из программы на сервер, но не уверен, что это все неприемлимые символы
...
Рейтинг: 0 / 0
отправка писем
    #37834921
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Above0,

Above0т.е. в php я просто заменил все &_GET на $_POST, всё правильно?Это на приеме заменили, тут верно. На отправке тоже нужно менять.

Above0а какие именно ограничения?На размер передаваемых данных, у Вас же именно в этом проблема. Для POST обычное максимальное значение составляет два мегабайта и на хостингах нередко попадается больше - это как настроить. Ну и есть возможность передачи файлов в бинарном виде, невзирая на конетент.

Above0не уверен, что это все неприемлимые символыПробел. Должен быть заменен на последовательность "%20".

По поводу блокировки отправки символов - не думаю, что это хороший путь. С какой стати технические ограничения должны накладывать свой отпечаток на контент в столь банальном вопросе как передача текста? Тем более, что имеются разумные способы решения проблемы.
...
Рейтинг: 0 / 0
отправка писем
    #37835011
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleПо поводу блокировки отправки символов - не думаю, что это хороший путь я передаю строку вида 100101102103, т.е. закодированную, чтобы избежать проблем с ограничениями, поэтому во время приёма строки ошибок быть не может. а вот после раскодирования во время отправки - хз. я не знаю, влияют ли символы в тексте письма на передачу файлов vkle Для POST обычное максимальное значение составляет два мегабайта у меня(в программе) максимальный размер отправляемого письма составляет 1.5 мегабайт. у &_GET, я так понимаю, намного ниже?

vkle, спасибо за помощь. буду ждать новых жалоб на работу проги от тестировщиков. если жалоб не будет, значит проблема решена успешно
...
Рейтинг: 0 / 0
отправка писем
    #37835566
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот исходный код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?php 
if(preg_match('/^[a-z\d_\-.]+@([a-z\d\-]+\.)+[a-z]{2,4}$/i', $_GET["email"])) {
$file = fopen("mails.txt", "r");
while(!feof($file))
{
$string = fgets($file, 1024);
$string = substr($string, 0, strlen($string)  - 1);
if ($_GET["email"] == $string) {
$text = join('',array_map('chr',str_split($_GET["text"],3)));
mail($_GET["email"], "qlewer", $text);
//echo "daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
break;
}
}
fclose($file);
} else {
echo "нубярко!";
}
?>

заменяю
Код: php
1.
$text = join('',array_map('chr',str_split($_GET["text"],3)));

на
Код: php
1.
$text = join('',array_map('chr',str_split($_POST["text"],3)));

отправляется пустое письмо. заменяю получение получателя на post - письмо не отсылается вовсе. при этом код иногда не работает. почему?..
...
Рейтинг: 0 / 0
отправка писем
    #37835577
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleAbove0вместо чего юзать POST не очень понялВместо метода GET (который с вопросиком), который сейчас используете. Ограничения на "чистоту" символов в методе GET тоже имеются - есть много символов, которых в строке запроса быть не должно. При небходимости передачи таких символов, их придется заенкодить, и получится что один символ займет три байта. Для POST таких ограничений нет, можно бинарные данные передавать (именно так загружаются файлы через веб-форму).
Не правда. Оно всё одинаково передаётся, хоть гетом, хоть постом. Другое дело, что если enctype="multipart/form-data", да и то эта фигня текстом, по-моему, передаётся.
...
Рейтинг: 0 / 0
отправка писем
    #37835582
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeНе правда я своим глазам ещё доверяю. всё так, как написАл. перепроверил - меняю $_GET на $_POST - переменная получается пустой. письмо отправляется с пустым содержимым.
...
Рейтинг: 0 / 0
отправка писем
    #37836840
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет никаких идей? 1) почему перестаёт работать при большой длине получаемой строки 2) почему гэт не заменяется на пост
...
Рейтинг: 0 / 0
отправка писем
    #37836956
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть

1. Потому что на длину GET довольно маленькое ограничение. Килобайт или два - не помню точно.
2. Потому что отправлять из программы нужно методом POST.

PS: Есть вариант отправлять не целиком, а по частям. Однако, не думаю что это будет проще чем просто поменять метод отправки.
...
Рейтинг: 0 / 0
отправка писем
    #37837938
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle2. Потому что отправлять из программы нужно методом POST. отправляю из программы методом POST. при получении строки в PHP всё равно POST получает пустую строку. работает, если отправлять из проги POST, получать в PHP GET, но если строка длинная ведь GET всё равно не примет?
...
Рейтинг: 0 / 0
отправка писем
    #37838051
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот моя переписка с техподдержкой хоста:
красавчеГ:
для получения строки в PHP файле я прописываю $_GET, например $_GET["text"]. но длинные строки не передаются. мне подсказали использовать &_POST вместо $_GET, но он всегда возвращает пустую строку. на всех форумах говорят, что такого быть не может. на хостинге отключена функция $_POST?
Админ:
Локальные переменные окружения $_POST и $_GET не отключены и работают нормально.
Проверяйте свой скрипт.
Обратите внимание, что если Вы в скрипте используете $_POST, то и данные из формы должны передаваться соответствующим методом.
Передая методом Post из ехе проги
в чём тогда проблема?
...
Рейтинг: 0 / 0
отправка писем
    #37838163
Above0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сё, работает) трабла и правда была при отправке, т.к. не было толковых примеров. заменил всё в PHP на POST, буду ждать жалоб от тестировщиков. пасяп за помощь
...
Рейтинг: 0 / 0
отправка писем
    #37838381
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Above0,

$_REQUEST юзай - это $_POST + $_GET
...
Рейтинг: 0 / 0
отправка писем
    #37838447
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artasAbove0,

$_REQUEST юзай - это $_POST + $_GET
плохой пример, лучше не мешать - где надо пост, пусть там будет пост, где гет - там гет.
Вдруг кто то передаст и постом и гетом переменые с одинаковым именем?
И при разборе чужого кода более понятно откуда береться переменная.
...
Рейтинг: 0 / 0
отправка писем
    #37839570
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,

универсальность требует жертв
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / отправка писем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]