E-mail küldése. E-mail programozott küldése különféle szolgáltatások használatával E-mail küldése melléklettel c#

Utolsó frissítés: 31.10.2015

Az SMTP (Simple Mail Transfer Protocol) az interneten keresztüli levelek küldésére szolgál. Ez a protokoll meghatározza, hogy a levelezőszerverek hogyan működjenek együtt az átvitel során Email.

Az SMTP protokollal való munkavégzéshez és az e-mailek .NET-ben történő küldéséhez a System.Net.Mail névtér SmtpClient osztálya használható.

Ez az osztály számos tulajdonságot határoz meg, amelyek lehetővé teszik a küldés testreszabását:

    Gazda: smtp szerver, amelyről a leveleket küldik. Például smtp.yandex.ru

    Port: Az smp szerver által használt port. Ha nincs megadva, akkor alapértelmezés szerint a 25-ös port használatos.

    Hitelesítési adatok: feladó hitelesítési adatok

    EnableSsl: megadja, hogy kell-e használni SSL protokoll küldéskor

A küldés során használt másik kulcsosztály a MailMessage . Ez az osztály a küldendő üzenetet képviseli. Tulajdonságai között a következők találhatók:

    Mellékletek: tartalmazza az összes e-mail mellékletet

    Törzs: közvetlenül a levél szövege

    Feladó: feladó címe. Egy MailAddress objektumot képvisel

    Címzett: a címzett címe. Szintén egy MailAddress objektumot képvisel

    Tárgy: az e-mail tárgyát határozza meg

    IsBodyHtml: Azt jelzi, hogy az e-mail html kódú tartalmat képvisel-e

Használjuk ezeket az osztályokat, és küldjük el az e-mailt:

Rendszer használata; a System.Net használatával; a System.IO használatával; a System.Threading.Tasks használatával; a System.Net.Mail használatával; névtér NetConsoleApp ( osztály Program ( static void Main(string args) ( // feladó - állítsa be a címet és a betűben megjelenő nevet MailAddress from = new MailAddress(") [e-mail védett]", "Tom"); // akinek küldjük a mailcímet = new MailAddress(" [e-mail védett]"); // üzenetobjektum létrehozása MailMessage m = new MailMessage(from, to); // levél tárgya m.Subject = "Teszt"; // levél szövege m.Body = "

Az smtp-kliens Letter-tesztje

"; // betű képviseli html kódot m.IsBodyHtml = igaz; // az smtp szerver és a port címe, amelyről levelet küldünk SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); // bejelentkezés és jelszó smtp.Credentials = new NetworkCredential(" [e-mail védett]", "saját jelszó"); smtp.EnableSsl = true; smtp.Send(m); Console.Read(); ) ) )

A küldéshez a Send() metódust használjuk, amelyben a MailMessage objektum kerül átadásra.

Használhatjuk a küldés aszinkron változatát is a SendMailAsync metódussal:

Rendszer használata; a System.Net használatával; a System.IO használatával; a System.Threading.Tasks használatával; a System.Net.Mail használatával; névtér NetConsoleApp ( osztály Program ( static void Main(string args) ( SendEmailAsync().GetAwaiter(); Console.Read(); ) privát statikus aszinkron feladat SendEmailAsync() ( MailAddress from = new MailAddress(" [e-mail védett]", "Tom"); MailAddress to = new MailAddress(" [e-mail védett]"); MailMessage m = new MailMessage(feladó, címzett); m.Subject = "Teszt"; m.Body = "Smtp-kliens munkateszt levél 2"; SmtpClient smtp = new SmtpClient("smtp.gmail.com" , 587 ); smtp.Credentials = new NetworkCredential(" [e-mail védett]", "mypassword"); smtp.EnableSsl = true; várjon smtp.SendMailAsync(m); Console.WriteLine("Mail elküldve"); ) ) )

Mellékletek hozzáadása

Az Attachments tulajdonság segítségével mellékleteket csatolhatunk az e-mailekhez. Minden melléklet egy System.Net.Mail.Attachment objektumot képvisel:

MailAddress from = new MailAddress(" [e-mail védett]", "Tom"); MailAddress to = new MailAddress(" [e-mail védett]"); MailMessage m = new MailMessage(feladó, címzett); m.Attachments.Add(new Attachment("D://temlog.txt"));

Hajóparancsnok 2013. október 14-én 19:29-kor

Programozottan küldhet e-maileket különféle szolgáltatások segítségével

  • .háló,

Nagyon gyakran kell foglalkozni a küldéssel e-maileket tól től programkód. Nem kell messzire keresni a példákat.

Ez a cikk egy tipp, és nem árul el semmi újat, de mielőtt megírtam volna, hasonlókat néztem az interneten, és meglehetősen meglepődtem, hogy szinte mindenhol vagy nem működő vagy elavult megoldást kínálnak, vagy egyszerűen írástudatlan.

Az első dolog, amit ezekkel a példákkal nem szabad tenni, az a System.Web.Mail használata, amely már régóta elavult, és azóta vizuális Stúdió 2010 a System.Web könyvtárat nem is lehet hozzáadni anélkül, hogy tudnánk teljes útvonal a megfelelő DLL-hez.
Ehelyett javasolt a System.Net könyvtár használata.
a System.Net használatával; a System.Net.Mail használatával;
Tehát a legegyszerűbb, egyben a legfontosabb és gyakran használt levél küldése az Öntől levelezőszerver Az, amelyen az SMTP-kliens konfigurálva van. Amint érti, a szerver lehet az, amelyen az alkalmazás fut, vagy egy távoli, amelyen további engedélyek nélkül is jogosult leveleket küldeni.

Mintakód e-mail küldéséhez a helyi gépről:
", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("127.0. levelezőszerver és port, ha szükséges sc.Send(mm) ) ) )

Levelezési szolgáltatások használata, például Gmail, Yandex, Mail.ru stb. minden ugyanaz, csak a jogosultsággal rendelkező paraméterek kerülnek hozzáadásra.

SMTP szerver: smtp.gmail.com
Port: 587
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "GmailPassword"); sc.Send(mm); ) )

SMTP szerver: smtp.yandex.ru
Kikötő: 25
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "YandexPassword"); sc.Send(mm); ) )

SMTP szerver: smtp.mail.ru
Kikötő: 25
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "MailRuPassword"); sc.Send(mm); ) )
Ha van Postafiók a mail.ru szolgáltatásban inbox.ru, list.ru vagy bk.ru végződik, majd az SMTP-kiszolgáló címe (smtp.inbox.ru, smtp.list.ru és smtp.bk.ru) ennek megfelelően módosul.

Mint látható, ahhoz, hogy bármilyen más levelező szolgáltatást használhasson a programjaiban, csak az SMTP szerver címét és portját, valamint a jogosultsági szabályokat kell megtudnia.

Emlékeztetni kell arra is, hogy szinte minden harmadik féltől származó e-mail szolgáltatás korlátozza az adott időszakban elküldött e-mailek számát.

Címkék: email, email küldés, smtp

Az oldalon az egyik legkeresettebb funkció a jelentkezési vagy megrendelőlap, amelyről az adatok az oldal tulajdonosának postára kerülnek. Az ilyen űrlapok általában egyszerűek, és két vagy három adatbeviteli mezőből állnak. Hogyan lehet ilyen megrendelőlapot létrehozni? Ehhez a HTML jelölőnyelv és a nyelv használata szükséges PHP programozás.

Maga a HTML jelölőnyelv egyszerű, csak azt kell kitalálni, hogyan és hova kell elhelyezni bizonyos címkéket. A PHP programozási nyelvvel a dolgok egy kicsit bonyolultabbak.

Egy programozónak nem nehéz létrehozni egy ilyen űrlapot, de néhány művelet nehéznek tűnhet egy HTML kódoló számára.

html beküldési űrlap készítése

Az első sor lesz a következő

Ez egy nagyon fontos formai elem. Ebben jelezzük, hogy az adatok hogyan kerülnek átvitelre és melyik fájlba. Ebben az esetben minden a POST metódussal kerül elküldésre a send.php fájlba. Az ebben a fájlban lévő programnak el kell fogadnia az adatokat, azok a post tömbben fognak szerepelni, és elküldeni a megadott email címre.

Térjünk vissza a formához. A második sor egy mezőt tartalmaz a teljes név megadására. A következő kóddal rendelkezik:

Az űrlap típusa szöveg, vagyis a felhasználó a billentyűzetről tud majd ide szöveget beírni vagy másolni. A név paraméter tartalmazza az űrlap nevét. Ebben az esetben fio, ezen a néven kerül átvitelre minden, amit a felhasználó ebbe a mezőbe beír. A helyőrző paraméter határozza meg, hogy mi kerüljön ebbe a mezőbe magyarázatként.

Következő sor:

Itt szinte minden ugyanaz, de a mező neve e-mail-ként van megadva, és a magyarázat, hogy a felhasználó megadja az e-mail címét ebben az űrlapban.

A következő sor a küldés gomb lesz:

Az űrlap utolsó sora pedig a címke lesz

Most rakjuk össze az egészet.





Most tegyük kötelezővé az űrlap mezőit. A következő kóddal rendelkezünk:





Hozzon létre egy fájlt, amely fogadja az adatokat egy HTML űrlapról

Ez egy send.php nevű fájl lesz

A fájlban az első szakaszban adatokat kell fogadnia a post tömbből. Ehhez két változót hozunk létre:

$fio = $_POST["fio"];
$email = $_POST["e-mail"];

A php változóneveit egy $ jel előzi meg, és minden sor végére pontosvessző kerül. A $_POST egy tömb, amelybe az űrlap adatait továbbítják. A html űrlapon a send method="post" módszer van megadva. Így két változót vettünk át html űrlapok. Webhelyének védelme érdekében ezeket a változókat több szűrőn – php függvényeken – kell átengednie.

Az első függvény átalakítja az összes karaktert, amelyet a felhasználó megpróbál hozzáadni az űrlaphoz:

Ebben az esetben a php-ben nem hoznak létre új változókat, hanem a meglévőket használják fel. A szűrő átalakítja a karaktert"<" в "<". Также он поступить с другими символами, встречающимися в html коде.

A második függvény dekódolja az url-t, ha a felhasználó megpróbálja hozzáadni az űrlaphoz.

$fio = urldecode($fio);
$email = urldecode($email);

A harmadik függvénnyel eltávolítjuk a szóközt a karakterlánc elejéről és végéről, ha van ilyen:

$fio = trim($fio);
$email = trim($email);

Vannak más funkciók is, amelyek lehetővé teszik a php változók szűrését. Használatuk attól függ, mennyire tart attól, hogy egy támadó programkódot próbál hozzáadni a html-mailekbe való adatküldés ilyen formájához.

A HTML-űrlapból PHP-fájlba továbbított adatok ellenőrzése

Annak ellenőrzésére, hogy ez a kód működik-e, ha az adatátvitel folyamatban van, egyszerűen megjelenítheti a képernyőn a visszhang funkció segítségével:

echo $fio;
visszhang"
";
echo $email;

A második sor itt azért szükséges, hogy a php-változók kimenetét különböző sorokra lehessen szétválasztani.

A beérkezett adatok elküldése a HTML űrlapról levélbe PHP segítségével

Az adatok levélre küldéséhez a PHP levelező funkcióját kell használni.

mail("melyik címre küldjem", "a levél tárgya", "Üzenet (a levél törzse)","Feladó: melyik e-mailről küldték a levelet \r\n");

Például adatokat kell küldenie a webhely tulajdonosának vagy kezelőjének e-mail-címére [e-mail védett]

Az e-mail tárgyának egyértelműnek kell lennie, és az e-mail üzenetének tartalmaznia kell azt, amit a felhasználó a HTML űrlapon megadott.

levél(" [e-mail védett]", "Alkalmazás a webhelyről", "Név:".$fio.". E-mail: ".$email ,"Feladó: [e-mail védett]\r\n");

Hozzá kell adnia egy feltételt, amely ellenőrzi, hogy az űrlapot PHP-vel küldték-e el a megadott e-mail címre.

if (mail(" [e-mail védett]", "Rendelés a webhelyről", "Név:".$fio.". E-mail: ".$email ,"Feladó: [e-mail védett]\r\n"))
{
echo "üzenet sikeresen elküldve";
) más (
}

Így a send.php fájl programkódja, amely a HTML űrlapadatokat küldi el a levélbe, így fog kinézni:

$fio = $_POST["fio"];
$email = $_POST["e-mail"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
//echo $fio;
// visszhang "
";
//echo $email;
if (mail(" [e-mail védett]", "Alkalmazás a webhelyről", "Név:".$fio.". E-mail: ".$email ,"Feladó: [e-mail védett]\r\n"))
( echo "üzenet sikeresen elküldve";
) más (
echo "hiba történt az üzenet küldése közben";
}?>

A fájlba való adattovábbítás ellenőrzésére szolgáló három sor megjegyzésre kerül. Szükség esetén eltávolíthatók, mivel csak a hibakereséshez kellettek.

Helyezze el a HTML és PHP űrlap beküldési kódját egy fájlba

A cikkhez fűzött megjegyzésekben sokan felteszik a kérdést, hogyan lehet a HTML űrlapot és a PHP-kódot is egy fájlba, nem pedig kettőbe foglalni.

A munka megvalósításához el kell helyeznie az űrlap HTML kódját a send.php fájlba, és hozzá kell adnia egy feltételt, amely ellenőrzi a változók jelenlétét a POST tömbben (ez a tömb az űrlapról kerül átadásra). Vagyis ha a változók nem léteznek a tömbben, akkor meg kell mutatnia a felhasználónak egy űrlapot. Ellenkező esetben ki kell vennie az adatokat a tömbből, és el kell küldenie a címzettnek.

Nézzük meg, hogyan változtathatjuk meg a PHP kódot a send.php fájlban:



Weboldal jelentkezési lap


//ellenőrizze, hogy vannak-e változók a POST tömbben
if(!isset($_POST["fio"]) és !isset($_POST["e-mail"]))(
?>





) más (
//az űrlap megjelenítése
$fio = $_POST["fio"];
$email = $_POST["e-mail"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
if (mail(" [e-mail védett]", "Alkalmazás a webhelyről", "Név:".$fio.". E-mail: ".$email ,"Feladó: [e-mail védett]\r\n"))(
echo "Üzenet sikeresen elküldve";
) más (
echo "Hiba történt az üzenet küldése közben";
}
}
?>



A PHP isset() függvénnyel ellenőrizzük, hogy van-e változó a POST tömbben. A függvény előtti felkiáltójel egy feltételben tagadást jelent. Vagyis ha a változó nem létezik, akkor meg kell mutatnunk az alakunkat. Ha nem tettem fel felkiáltójelet, akkor a feltétel szó szerint azt jelentené, hogy "ha létezik, akkor mutasd meg az űrlapot". És ez esetünkben téves. Természetesen átnevezheti index.php-re. Ha átnevezi a fájlt, ne felejtse el átnevezni a fájl nevét és a sorban

. Az űrlapnak ugyanarra az oldalra kell hivatkoznia, például index.php. Az oldal címét hozzáadtam a kódhoz.

Gyakori hibák, amelyek PHP-űrlap webhelyről történő elküldésekor fordulnak elő

Az első, valószínűleg a legnépszerűbb hiba az, amikor egy üres, fehér oldalt látsz üzenetek nélkül. Ez azt jelenti, hogy hibát vétett az oldal kódjában. PHP-ben be kell kapcsolni az összes hiba megjelenítését, és akkor látni fogod, hogy hol történt a hiba. Hozzáadás a kódhoz:

ini_set("megjelenítési_hibák","Be");
error_reporting("E_ALL");

A send.php fájlt csak a szerveren szabad futtatni, különben a kód egyszerűen nem fog működni. Kívánatos, hogy ez ne legyen helyi szerver, mivel nincs mindig úgy konfigurálva, hogy adatokat küldjön egy külső levelezőszervernek. Ha a kódot nem a szerveren futtatja, akkor a PHP kód közvetlenül az oldalon jelenik meg.

Így a korrekt munka érdekében azt javaslom, hogy helyezze el a send.php fájlt az oldal tárhelyére. Ott általában minden már be van állítva.

Egy másik gyakori hiba, amikor megjelenik az „Üzenet sikeresen elküldve” értesítés, de a levél nem érkezik meg postán. Ebben az esetben gondosan ellenőriznie kell a sort:

if (mail(" [e-mail védett]", "Rendelés a webhelyről", "Név:".$fio.". E-mail: ".$email ,"Feladó: [e-mail védett]\r\n"))

Ahelyett [e-mail védett] e-mail címnek kell lennie, amelyre levelet szeretne küldeni, de ahelyett[e-mail védett] létező e-mail-címnek kell lennie ehhez a webhelyhez. Például egy webhely esetében ez lenne . Csak ebben az esetben küldjük el az űrlap adatait tartalmazó levelet.

Hajóparancsnok 2013. október 14-én 19:29-kor

Programozottan küldhet e-maileket különféle szolgáltatások segítségével

Nagyon gyakran meg kell küzdenie a programkódból e-mailek küldésével. Nem kell messzire keresni a példákat.

Ez a cikk egy tipp, és nem árul el semmi újat, de mielőtt megírtam volna, hasonlókat néztem az interneten, és meglehetősen meglepődtem, hogy szinte mindenhol vagy nem működő vagy elavult megoldást kínálnak, vagy egyszerűen írástudatlan.

Az első dolog, amit ezekkel a példákkal nem szabad tenni, az a System.Web.Mail használata, amely már régóta elavult, és a Visual Studio 2010-től kezdve még a System.Web könyvtárat sem adhatja hozzá anélkül, hogy ismerné a teljes elérési utat a megfelelő DLL.
Ehelyett javasolt a System.Net könyvtár használata.
a System.Net használatával; a System.Net.Mail használatával;
Tehát a legegyszerűbb, egyben a legfontosabb és gyakran használt levél küldése a levelezőszerverről, amelyen az SMTP kliens be van állítva. Amint érti, a szerver lehet az, amelyen az alkalmazás fut, vagy egy távoli, amelyen további engedélyek nélkül is jogosult leveleket küldeni.

Mintakód e-mail küldéséhez a helyi gépről:
", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("127.0. levelezőszerver és port, ha szükséges sc.Send(mm) ) ) )

Levelezési szolgáltatások használata, például Gmail, Yandex, Mail.ru stb. minden ugyanaz, csak a jogosultsággal rendelkező paraméterek kerülnek hozzáadásra.

SMTP szerver: smtp.gmail.com
Port: 587
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "GmailPassword"); sc.Send(mm); ) )

SMTP szerver: smtp.yandex.ru
Kikötő: 25
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "YandexPassword"); sc.Send(mm); ) )

SMTP szerver: smtp.mail.ru
Kikötő: 25
using (MailMessage mm = new MailMessage("Név ", "[e-mail védett]"))( mm.Subject = "levél tárgya"; mm.Body = "levél törzse"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25))( sc. EnableSsl = igaz; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [e-mail védett]", "MailRuPassword"); sc.Send(mm); ) )
Ha a mail.ru szolgáltatásban lévő postaládája inbox.ru, list.ru vagy bk.ru címmel végződik, akkor az SMTP-kiszolgáló címe ennek megfelelően módosul (smtp.inbox.ru, smtp.list.ru és smtp.bk.ru).

Mint látható, ahhoz, hogy bármilyen más levelező szolgáltatást használhasson a programjaiban, csak az SMTP szerver címét és portját, valamint a jogosultsági szabályokat kell megtudnia.

Emlékeztetni kell arra is, hogy szinte minden harmadik féltől származó e-mail szolgáltatás korlátozza az adott időszakban elküldött e-mailek számát.

Címkék: email, email küldés, smtp

Helló. Mivel a grafomániám fejlődik, úgy döntöttem, hogy hozzáadok egy újabb cikket. A cikk, mint mindig, C #-ben található példákkal, de egy többé-kevésbé ügyes VB "schnik könnyen átírja az összes kódot a VB.NET alatt.

Kezdjük talán

E-mail küldéséhez három objektumot kell használnunk. System.Net.Mail.SmtpClient üzenet küldéséhez, System.Net.Mail.MailMessage az üzenet megjelenítéséhez és System.Net.NetworkCredential az engedélyezéshez.

Hozzunk létre egy klienst:

Var kliens = new SmtpClient("$Mail-Server-Address$", $Mail-Server-Port$);

konstruktor hivatkozás:

SmtpClient(string host, int port);

Hozzuk létre a MailMessage osztály példányát:

Var msg = new MailMessage("feladó", "címzett");

Most állítsuk be a levél tárgyát és tartalmát (amúgy a konstruktorban mindent be lehet állítani). Valamint az smtp kliens bejelentkezési neve és jelszava. Ezután e-mailt küldünk az ügyfélobjektumunk Küldés metódusával:

Var kliens = new SmtpClient("smtp.yandex.ru"); var msg = new MailMessage("feladó", "címzett"); msg.Subject = "Saját tesztüzenet"; msg.Body = "Szia barátom! Képzeld csak el, hogy most írtam egy hihetetlen programot, hogy milliárdszor elküldjem neked ezt az értelmetlen levelet, mindössze néhány kattintással!"; msg.SubjectEncoding = Kódolás.UTF8; msg.BodyEncoding = Kódolás.UTF8; // prioritás msg.Priority = MailPriority.High; // üzenet törzse html-ben? msg.IsBodyHtml = false; client.Credentials = new NetworkCredential("bejelentkezés", "jelszó"); client.Send(msg);

Ez minden. Ügyeljen arra, hogy minden szükséges információt helyesen adjon meg.


Hozzászólások()

ruslang02 30

CoolHacker, kölcsönkérhetem ezt a kódot a webböngésző 3. részéhez?

Coolhacker 770 ruslang02 30

Köszönöm, e-mailben linkek küldésére fogom használni
mint a Firefoxban

LetSevI 10

Betöltés...
Top