форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / Форма отправки мыла с альфамуна
. 1 . 2 . >>
Автор Сообщение
Александр
Леонидович

1124
# Дата: 25 Апр 2007 08:40


Выложите кто-то плз рабочий код формы отправки мыла с альфамуна. Ящик на мейл.ру. Если можно с комментариями, оч нужно.

Константин
TorrentMaster

3515
# Дата: 25 Апр 2007 11:59 ° Поправил: Константин


Моя функция отправки все еще работает.
Как прикрутить GUI думаю догадаешься.
Helostring - любая строка для mail.ru

<? 
////////////////////////////////////////////////////// 
//    DefSMTPsender v.0.6.6.7 (by Deflector)        // 
//This script can send mail using remote smtp server// 
////////////////////////////////////////////////////// 
 
function mailsmtpsend($server,$port,$helostring,$user,$password,$from,$to,$messa 
ge) 
{ 
    $socket=fsockopen($server,$port,$errno,$errstr); 
    if ($errno>0) return false; 
     
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    $buffer=""; 
    fputs($socket,"HELO $helostring\n"); 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"AUTH LOGIN\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,base64_encode($user)."\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,base64_encode($password)."\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"MAIL FROM: $from\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"RCPT TO: $to\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"DATA\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"$message\r\n.\r\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    echo($buffer."\n"); 
    fputs($socket,"QUIT\n"); 
    fclose($socket); 
    return true; 
     
} 
?> 




message с вложениями делается так:
 
$messagebody=''; 
$un           = strtoupper(uniqid(time())); 
$messagebody .= "From: $accusername\n"; 
$messagebody .= "To: ".$to."\n"; 
$messagebody .= "Subject: [alfaspace]".basename($sourcename)." [part ".($mescnt+ 
$mesnump)."]\n"; 
$messagebody .= "Reply-To: $accusername\n"; 
$messagebody .= "Mime-Version: 1.0\n"; 
$messagebody .= "Content-Type:multipart/mixed; boundary=\"d----------".$un."\"\n 
\n"; 
$messagebody .= "--d----------".$un."\nContent-Type:text/plain;\n"; 
$messagebody .= "Content-Transfer-Encoding: 8bit\n\n$messagetext\n\n"; 
$messagebody .= "--d----------".$un."\n"; 
$messagebody .= "Content-Type: application/octet-stream; name=\"".basename($sfil 
ename.".part".($mescnt+$mesnump))."\"\n"; 
$messagebody .= "Content-Transfer-Encoding: base64\n"; 
$messagebody .= "Content-Disposition: attachment; filename=\"".basename($sfilena 
me.".part".($mescnt+$mesnump))."\"\n\n"; 
$attach       = chunk_split(base64_encode($attachment)); 
unset($attachment); 
$messagebody .= $attach."\n"; 
unset($attach); 
$messagebody .= "--d----------".$un."--\n"; 



пример вызова:
$rs=mailsmtpsend("smtp.list.ru",2525,"DefMailSystem",$accusername,$accpa 
ssword,$accusername,$to,&$messagebody);


persei
Участник

490
# Дата: 26 Апр 2007 06:09


у нас закрыт 25 порт...

Рамиль
minibb moder

1152
# Дата: 26 Апр 2007 07:00


persei
» persei
у нас закрыт 25 порт...

» Константин
2525


Александр
Леонидович

1124
# Дата: 26 Апр 2007 08:51


» Константин
Моя функция отправки все еще работает.
Как прикрутить GUI думаю догадаешься.

Константин я не кодер, и врядли иь уже буду
Распиши плз что где прописать и простеишии гуи
Извини что отвлекаю такими вопросами

Константин
TorrentMaster

3515
# Дата: 26 Апр 2007 09:45 ° Поправил: Константин


Александр
Тогда лучше найди готовое решение.

Но если хочешь, то простейший gui+еще кусок кода (собрал все вместе - пусть это будет sender.php):
 
<form action="sender.php" method="POST"> 
От кого: <input type=text name="fr"><br> 
Кому: <input type=text name="to"><br> 
Тема письма: <input type=text name="subj"><br> 
Текст письма: <input type=text name="text"><br> 
<input type=submit value="Послать"> 
</form> 
 
<? 
////////////////////////////////////////////////////// 
//    DefSMTPsender v.0.6.6.7 (by Deflector)        // 
//This script can send mail using remote smtp server// 
////////////////////////////////////////////////////// 
 
function mailsmtpsend($server,$port,$helostring,$user,$password,$from,$to,$mess 
a 
ge) 
{ 
    $socket=fsockopen($server,$port,$errno,$errstr); 
    if ($errno>0) return false; 
 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    $buffer=""; 
    fputs($socket,"HELO $helostring\n"); 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"AUTH LOGIN\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,base64_encode($user)."\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,base64_encode($password)."\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"MAIL FROM: $from\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"RCPT TO: $to\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"DATA\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    fputs($socket,"$message\r\n.\r\n"); 
    echo("->"); 
    $buffer=""; 
    while (strpos($buffer,"\n")===false) $buffer.=fgets($socket,256); 
    echo($buffer."\n"); 
    fputs($socket,"QUIT\n"); 
    fclose($socket); 
    return true; 
 
} 
 
$accusername='something@mail.ru'; 
$accpassword='somepassword'; 
if (isset($_POST['to'])) 
$to=$_POST['to']; 
else die('получатель не выбран'); 
if (isset($_POST['subj'])) 
$subj=$_POST['subj']; 
else die('тема не указана'); 
if (isset($_POST['text'])) 
$text=$_POST['text']; 
else die('тело письма отсутствует'); 
if (isset($_POST['fr'])) 
$fr=$_POST['fr']; 
else die('вы не представились'); 
 
 
$messagebody=''; 
$un           = strtoupper(uniqid(time())); 
$messagebody .= "From: $accusername\n"; 
$messagebody .= "To: ".$to."\n"; 
$messagebody .= "Subject: $subj\n"; 
$messagebody .= "Reply-To: $accusername\n"; 
$messagebody .= "Mime-Version: 1.0\n"; 
$messagebody .= "Content-Type:multipart/mixed; boundary=\"d----------".$un."\"\ 
n 
\n"; 
$messagebody .= "--d----------".$un."\nContent-Type:text/plain;\n"; 
$messagebody .= "Content-Transfer-Encoding: 8bit\n\na message from $fr\n$text\n 
\n"; $messagebody .= "--d----------".$un."--\n"; echo (mailsmtpsend("smtp.mail.ru",2525,"trooosender",$accusername,$accpa ssword,$accusername,$to,&$messagebody));




Все. Отсылку аттачей я удалил. Если нужен русский язык - укажи Content-Transfer-Encoding: тот, какой нужен.

Александр
Леонидович

1124
# Дата: 26 Апр 2007 12:00


спасибо

Александр
Леонидович

1124
# Дата: 28 Апр 2007 08:06


Чтото не работает
Parse error: syntax error, unexpected T_STRING, expecting ')' in /home/............/sender.php on line 7


Рамиль
minibb moder

1152
# Дата: 28 Апр 2007 10:03 ° Поправил: Рамиль


Александр
переносы строк правильно соблюдал? на всякий пожарный, проверь что

mailsmtpsend($server,$port,$helostring,$user,$password,$from,$to,$message)

написан в одну строку

Александр
Леонидович

1124
# Дата: 29 Апр 2007 02:12 ° Поправил: Александр


Рамиль
Спасибо, вроде поправил

А как прописать только одно мыло получателя? Т.е, что бы небыло пункта "Кому", а было вбито только одно дефолтное?

Рамиль
minibb moder

1152
# Дата: 29 Апр 2007 04:06


Александр
чтобь всегда одинаковое было штоли? удали форму и в echo (mailsmtpsend()) вместо $to напиши "tvoy@email.ru"

Константин
TorrentMaster

3515
# Дата: 29 Апр 2007 09:52


Или исправить форму так:
Кому: <input type=text name="to" value="to@host.ru"><br>

Рамиль
minibb moder

1152
# Дата: 29 Апр 2007 10:34


Константин
<input type=hidden name="to" value="to@host.ru">

Константин
TorrentMaster

3515
# Дата: 29 Апр 2007 13:55


можно и так

Александр
Леонидович

1124
# Дата: 29 Апр 2007 16:01


спасибо огромное - все ок

Snake_ilim
Участник

11
# Дата: 7 Май 2007 11:14


Здравтвуйте! Я все проделал - все работает, вот только после отправки сообщения ниже формы вылазиет такая вот штука: "->->->->->->->250 OK id=1Hl5iz-000PGl-00 1".
Подскажите, как ее убрать?

Константин
TorrentMaster

3515
# Дата: 7 Май 2007 11:44


Snake_ilim
все echo закомментируй

Snake_ilim
Участник

11
# Дата: 8 Май 2007 07:19


Константин
а если не секрет, как это сделать???

admin
powered by admin

7218
# Дата: 8 Май 2007 07:39


» Snake_ilim
Константин
а если не секрет, как это сделать???


я так подозреваю что коментируется в пхп таким макаром:

//////////////////////////////////////////////////////
// DefSMTPsender v.0.6.6.7 (by Deflector) //
//This script can send mail using remote smtp server//
//////////////////////////////////////////////////////

Serg
Участник

1814
# Дата: 8 Май 2007 09:29


все
echo 'фывафывафыва';
меняй на
#echo 'фывафывафыва';

Рамиль
minibb moder

1152
# Дата: 8 Май 2007 10:07


Snake_ilim
поменяй все echo на // echo

Snake_ilim
Участник

11
# Дата: 8 Май 2007 10:18


ООООгромное спасибо!

Snake_ilim
Участник

11
# Дата: 21 Май 2007 11:13


Здравствуйте! это снова я... А можно в этом скрипте сделать так что бы было еще одно поле обязательное для заполнения (от кого) и это поле после отправки вставлялось в тело письма???

Snake_ilim
Участник

11
# Дата: 21 Май 2007 11:21


Упс! Сорри!!!

Константин
TorrentMaster

3515
# Дата: 21 Май 2007 12:36


Snake_ilim
Можно. Сделай. Разрешаю

Только не пытайся заменить поле
$messagebody .= "From: $accusername\n";
если там будет указано не то мыло, от имени которого отправляется письмо, то оно просто не отправится.

Snake_ilim
Участник

11
# Дата: 22 Май 2007 12:10


Спасибо большое за разрешение осталось дело за малым... что-то где-то добавить и все... вот только что и где?
если не трудно напиши

Константин
TorrentMaster

3515
# Дата: 22 Май 2007 12:37 ° Поправил: Константин


Выше исправил скрипт

Snake_ilim
Участник

11
# Дата: 8 Июн 2007 08:16


Константин, А можно сделать так чтобы из формы "от кого" в тело сообщения вставлялось, то что там написано? а то получается, что два раза повторяется от кого пришло письмо, первый раз когда получаешь сообщение там написано от кого, а второй когда читаешь сообщение, там в начале написано от кого... блин, чет как то каряво написал, но надеюсь поймешь

Константин
TorrentMaster

3515
# Дата: 8 Июн 2007 14:04


Snake_ilim
Ну поправь код сам, а

$messagebody .= "From: $accusername\n"; - это реальный отправитель

$messagebody .= "Content-Transfer-Encoding: 8bit\n\na message from $fr\n$text\n - а здесь тело сообщения

Snake_ilim
Участник

11
# Дата: 13 Июн 2007 09:55


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

. 1 . 2 . >>
Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:51910, gzipped size:11910

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]