Poslední zpráva je html. Jak posílat textové zprávy pomocí PHP. Příjemce: onmessage event
Nyní proměnná $ str_file, který obsahuje soubor, lze vložit do dopisu.
Pro konečnou konsolidaci materiálu napíšeme funkci, která pošle dopis ve formátu HTML určenému příjemci s připojeným souborem:
/ * $ to - adresa příjemce zprávy $ from_mail - adresa odesílatele zprávy $ from_name - jméno odesílatele zprávy $ předmět - předmět zprávy $ zpráva - samotná HTML zpráva $ file_name - cesta k souboru, který má být připojen ke zprávě (to může být název souboru vybraného v poli ) * / funkce sendMail ($ to, $ from_mail, $ from_name, $ předmět, $ message, $ file_name) ($ bound \u003d "spravkaweb-1234"; $ header \u003d "From:" $ from_name "n"; $ header. \u003d "Komu: $ ton"; $ header. \u003d "Předmět: $ Subjectn"; $ header. \u003d "Mime-Version: 1.0n"; $ header. \u003d "Content-Type: multipart / mixed; boundary \u003d" $ bound ""; $ body \u003d "nn - $ boundn"; $ body. \u003d "Content-type: text / html; charset \u003d" windows-1251 "\\ n"; $ body. \u003d "Content-Transfer-Encoding: citováno -printablenn "; $ body. \u003d" $ message "; $ file \u003d fopen ($ file_name," rb "); $ body. \u003d" nn - $ boundn "; $ body. \u003d" Content-Type: application / octet -stream; "; $ body. \u003d" name \u003d ". basename ($ file_name)." \\ n "; $ body. \u003d" Content-Transfer-Encoding: base64n "; $ body. \u003d" Content-Disposition: attachnn " ; $ body. \u003d base64_encode (fread ($ file, fileize ($ file_name))). "n"; $ body. \u003d "$ bound - nn"; if (mail ($ to, $ subjekt, $ body, $ header)) (echo "Zpráva byla úspěšně odeslána!";) else (echo "Zpráva nebyla odeslána!";););
HTTP je založen na modelu architektury klient-server a protokolu bez státní příslušnosti / odpovědi, který funguje výměnou zpráv přes spolehlivé připojení TCP / IP.
HTTP klient je program (webový prohlížeč nebo jakýkoli jiný klient), který navazuje připojení k serveru za účelem odeslání jedné nebo více zpráv s požadavkem HTTP. HTTP server je program (obvykle webový server, jako je webový server Apache nebo Internetová informační služba IIS atd.), Který přijímá připojení za účelem plnění požadavků HTTP odesíláním zpráv s odpověďmi HTTP.
HTTP používá Uniform Resource Identifier (URI) k identifikaci daného zdroje a navázání spojení. Po navázání spojení HTTP zprávy jsou předávány ve formátu podobném formátu používanému internetovou poštou a víceúčelovými internetovými rozšířeními (MIME). Tyto zprávy obsahují žádosti z klienta na server a odpovědi ze serveru na klienta, který bude mít následující formát:
HTTP zpráva \u003d
Požadavky HTTP a odpovědi HTTP používají k přenosu požadovaných dat obecný formát zprávy RFC 822. Tento obecný formát zprávy se skládá z následujících čtyř položek.
- Startovní čára
- Nulová nebo více polí záhlaví následovaná CRLF
- Prázdný řádek (tj. Řádek s ničím předcházejícím CRLF) označující konec polí záhlaví
- Volitelně tělo zprávy
V následujících částech vysvětlíme každou z entit použitých ve zprávě HTTP.
Počáteční řádek zprávy
Start-line bude mít následující obecnou syntaxi:
Start-line \u003d Request-Line | Stavový řádek
Budeme diskutovat Request-Line a Status-Line při diskusi HTTP Request a HTTP Response. Prozatím se podívejme na příklady startovní čáry v případě požadavku a odpovědi:
GET /hello.htm HTTP / 1.1 (Toto je řádek požadavku odeslaný klientem) HTTP / 1.1 200 OK (Toto je stavový řádek odeslaný serverem)
Pole záhlaví
Pole záhlaví HTTP poskytují požadované informace o požadavku nebo odpovědi nebo o objektu odeslaném v těle zprávy. Existují čtyři typy záhlaví zpráv HTTP:
Obecná hlavička: Tato pole záhlaví mají obecnou použitelnost pro zprávy o požadavcích i odpovědi.
Záhlaví požadavku: Tato pole záhlaví jsou použitelná pouze pro zprávy s požadavky.
Záhlaví odpovědi: Tato pole záhlaví jsou použitelná pouze pro odpovědi.
Záhlaví entity: Tato pole záhlaví definují meta informace o subjektu entita nebo, pokud není k dispozici, o prostředku identifikovaném požadavkem.
Všechny výše uvedené záhlaví mají stejný obecný formát a každé pole záhlaví se skládá z názvu následovaného dvojtečkou ( : ) a hodnota pole následovně:
Message-header \u003d field-name ":" [field-value]
Níže uvádíme příklady různých polí záhlaví:
User-Agent: curl / 7.16.3 libcurl / 7.16.3 OpenSSL / 0.9.7l zlib / 1.2.3 Host: www.example.com Přijímací jazyk: en, mi Datum: Po, 27. července 2009 12:28:53 Server GMT: Apache Poslední změna: St, 22 červenec 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Akceptovat rozsahy: bajty Obsah-délka: 51 Vary: Accept-Encoding Content-Type: text / plain
Text zprávy
Část těla zprávy je volitelná pro zprávu HTTP, ale pokud je k dispozici, pak se používá k přenášení těla subjektu spojeného s požadavkem nebo odpovědí. Pokud je tělo entity spojeno, obvykle Typ obsahu a Délka obsahu řádky záhlaví určují povahu přidruženého těla.
Obsahuje pouze text (nízká hmotnost zprávy)$ name \u003d "Pyotr Petrovich"; // volitelná proměnná jako příklad vložení do zprávy
$ subject \u003d "Příspěvek"; // předmět zprávy
$ message \u003d "Dobrý den,". $ name. "! \\ n
Jen se zeptej, jak se máš! \\ N
S pozdravem Ivan Ivanovich "; // Obsah zprávy
mail ($ email, $ Subject, $ message, "From: [email protected] \\ nReply-To: [email protected] \\ nContent-type: text / plain; Charset \u003d utf-8 \\ r \\ n"); // poslat zprávu
?>
2. Odesílání textu typu php / html
Může obsahovat grafické prvky html, odkazy atd.Další informace byly přeneseny
// poslat více příjemcům
$ to \u003d "[email protected]". ","; // komu posíláme
$ to. \u003d "[email protected]". ","; // Varování! Takže píšeme druhou a tak na adresy
// nezapomeňte čárku. Ani při posledním kontaktu nebude zbytečné
// Pro začátečníky! $ to. \u003d tečka v tomto případě pro připojení k proměnné
// pokud chceme, nastavte typ zprávy na typ obsahu
$ headers \u003d "MIME-Version: 1.0". "\\ r \\ n";
$ headers. \u003d "Content-type: text / html; charset \u003d utf-8 \\ r \\ n";
// další data
$ headers. \u003d "From: yournick
$ headers. \u003d "Cc: [email protected]". "\\ r \\ n"; // zkopírujte zprávu na tuto adresu
$ headers. \u003d "Bcc: [email protected] \\ r \\ n"; // slepá kopie zprávy
mail ($ to, $ Subject, $ message, $ header);
?>
3. Jak používat CSS v dopise?
Zde vás chci okamžitě trochu rozladit - CSS ve formě, na kterou jste zvyklí, nestojí za to používat. Mail, Yandex, Google, Outlook - házení stylů z písmen. Existuje však cesta ven.Splňujeme několik podmínek:
1)
Doufám, že nemusíte objasňovat, že používáme Typ obsahu: text / html
2) Pamatujte, co je stůl werst. Nyní zadáváme všechny styly pouze v něm. Můžete si také pamatovat centrum, písmo.
Z: Ivanov Ivan Ivanovich |
Adresa: [email protected] |
Zpráva: Díváme se a radujeme se |
S div totéž
3) Ve výše uvedeném příkladu byl s odesláním dopisu uveden tento řádek. Takže na ni nezapomeň
$ headers \u003d "MIME-Version: 1.0". "\\ r \\ n";
4) Použití HTML 3.2. Na začátek vložte html písmena.
5)
Jako pozadí - můžete barvy. Pokud chcete obrázek na pozadí, vytvořte z něj veškerý text a obrázek na pozadí. Jako možnost: můžete určit obrázek pozadí pro tělo.
6) Jediný obrázek v buňce v Gmailu má odspodu 3px odrážku, abychom tomu zabránili