|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: joli 22-01-2009, 18:46 |
Wysylanie poczty |
Autor |
Wiadomość |
CyberDuck [Usunięty]
|
Wysłany: 06-02-2008, 00:08 Wysylanie poczty
|
|
|
Mialem u siebie taki problem na stronie glownej, ze nagle wysiadla mi
poczta na stronie glownej i forum.
Co sie okazalo administrator serwera zablokowal funkcje :
mail();
Nie wazne z jakich powodow, ale zrobil to na wszystkich stronach umieszczonych
na tym serwerze.
W pierwszym rzedzie pomyslalem o malej zmianie i probie wysylania poczty z forum
przy pomocy smtp. Niestety okazalo sie, ze tez to jest niemozliwe.
Zaczolem wiec szukac takiego skryptu, ktory poradzilby sobie z tym problemem
i w koncu znalazlem.
Poniewaz sam pisalem strone glowna wiec dokonalem odpowiednich zmian tam gdzie trzeba
i teraz poprawnie dziala calosc, ale tylko na stronie glownej.
Nawet niezaczynalem grzebac jeszcze w skrypcie forum poniewaz chcialem sie z Wami
tym skryptem podzielic i jesli moge prosic kogos o zrobienie gotowych modyfikacji
dla forum to bylbym wdzieczny.
Oto skrypt :
Kod: | <?
function wyslij($serwerem,$uzytkownikem,$hasloem,$emailem,$doem,$tematem,$zawartoscem)
{
global $wynikem;
# kodowanie w standardzie base64
$uzytkownikem = base64_encode($uzytkownikem);
$hasloem = base64_encode($hasloem);
# nawizanie połšczenia z serwerem SMTP
$polaczenieem = fsockopen($serwerem,25);
# sprawdzanie dostępności serwera
$sprem[0] = fgets($polaczenieem,1000);
# sekwencja:
# 1. polecenie uytkownika - fputs
# 2. odpowiedź serwera - fgets - idzie do zmiennej $spr do późniejszej analizy
# powitanie serwera
fputs($polaczenieem,"HELO $ip\r\n");
$sprem[1] = fgets($polaczenieem,1000);
# autoryzacja
fputs($polaczenieem,"AUTH LOGIN\r\n");
$sprem[2] = fgets($polaczenieem,1000);
fputs($polaczenieem,$uzytkownikem."\r\n");
$sprem[3] = fgets($polaczenieem,1000);
fputs($polaczenieem,$hasloem."\r\n");
$sprem[4] = fgets($polaczenieem,1000);
# polecenie wysyłki
fputs($polaczenieem,"MAIL FROM: <$emailem>\r\n");
$sprem[5] = fgets($polaczenieem,1000);
fputs($polaczenieem,"RCPT TO: <$doem>\r\n");
$sprem[6] = fgets($polaczenieem,1000);
# wpisywanie treci i nagłówków?
fputs($polaczenieem,"DATA\r\n");
$sprem[7] = fgets($polaczenieem,1000);
fputs($polaczenieem,"Subject: $tematem\r\n");
fputs($polaczenieem,"From: randka<$emailem>\r\n");
fputs($polaczenieem,"To: <$doem>\r\n");
fputs($polaczenieem,"\r\n");
fputs($polaczenieem,"$zawartoscem\r\n");
fputs($polaczenieem,".\r\n");
$sprem[8] = fgets($polaczenieem,1000);
fputs($polaczenieem,"quit\r\n"); //koniec poczenia
$sprem[9] = fgets($polaczenieem,1000);
# analiza kodów odpowiedzi serwera SMTP za pomoc ereg
# i przypisanie zmiennej $wynik odpowiedniego komunikatu
$wynik = 0;
if (ereg('220',$sprem[0]) && ereg('250',$sprem[1]) && ereg('334',$sprem[2]) && ereg('334',$sprem[3]) && ereg('235',$sprem[4]) && ereg('250',$sprem[5]) && ereg('250',$sprem[6]) && ereg('354',$sprem[7]) && ereg('250',$sprem[8]) && ereg('221',$sprem[9]))
{
$wynikem = 1;
} else {
$wynikem = 0;
}
}
?> |
Skrypt dziala na 100 %. Zreszta kazdy moze to sobie wyprobowac na wlasnym serwerze.
Niezycze komus, zeby nagle jego admin wpadl na taki pomysl jak moj, ale o tym niemysli
sie wlasnie do takiego momentu. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Centurion


Pomógł: 543 razy Posty: 1972
|
Wysłany: 06-02-2008, 00:19
|
|
|
ten skrypt to zwyczajne wysylanie przez smtp, identyczne z tym ktore masz na forum |
_________________ Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql |
|
|
|
 |
CyberDuck [Usunięty]
|
Wysłany: 06-02-2008, 00:36
|
|
|
To dlaczego na forum mi niedziala ?
Napisze tylko, ze probowal to naprawic nieskutecznie mod z tego forum.
Mam cos tam wylaczone dodatkowo ... no i klapa.
Ten skrypt zadzialal mi bez problemu.
Pomyslalem, ze mozna zrobic taka poprawke zeby skorzystalo w razie takiego
problemu wiecej uzytkownikow.
To jest blad ktory otrzymuje po ustawieniu smtp.
Kod: | Ran into problems sending Mail. Response: 553 5.7.1 Hello [XXX,XXX,XXX,XXX], for your MAIL FROM address policy analysis reported: auth user '' doesn't match 'mail from': |
|
|
|
|
 |
Centurion


Pomógł: 543 razy Posty: 1972
|
Wysłany: 06-02-2008, 01:06
|
|
|
nie znam wszystkich błędów smtp, ale z tego co wioskuje masz cos innego wpisane w Nazwa Użytkownika SMTP niż w Adres E-mail Administratora i/lub E-mail nadawcy |
_________________ Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql |
|
|
|
 |
CyberDuck [Usunięty]
|
Wysłany: 06-02-2008, 07:15
|
|
|
Jesli wpisze niepoprawnie uzytkownika to mam taki blad :
Kod: | Ran into problems sending Mail. Response: 535 Account temporary unavailable / Tymczasowo nie mozesz sie zalogowac |
Tez sprawdzalem |
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,41 sekundy. Zapytań do SQL: 9 | |
 |
|