Эцсийн мессеж бол html. PHP ашиглан текст мессеж хэрхэн илгээх вэ. Хүлээн авагч: onmessage арга хэмжээ


                // Файлыг хоёртын форматаар уншихад нээх $ file \u003d fopen ("file.zip", "rb"); // $ str_file $ str_file \u003d fread ($ file, filesize ("file.zip")) мөрөнд үүнийг унших; // Энэ мөрийг base64 формат руу хөрвүүлэх $ str_file \u003d base64_encode ($ str_file);

Одоо хувьсагч $ str_fileфайлыг агуулж байгаа үсгийг оруулж болно.

Эцэст нь материалыг нэгтгэхийн тулд бид хавсаргасан файлтай хамт заасан хүлээн авагч руу HTML хэлбэрээр захидал илгээдэг функцийг бичнэ.

   / * $ to - мессеж хүлээн авагчийн хаяг $ from_mail - мессеж илгээгчийн хаяг $ from_name - мессеж илгээгчийн нэр $ гарчиг - мессежийн сэдэв $ мессеж - HTML мессеж өөрөө $ file_name - мессежэд хавсаргасан файл руу орох зам (энэ байж болно талбарт сонгосон файлын нэр ) * / функц sendMail ($ to, $ from_mail, $ from_name, $ subject, $ message, $ file_name) ($ border \u003d "spravkaweb-1234"; $ header \u003d "From:" $ from_name "n"; $ header). \u003d "Хэсэг: $ ton"; $ header. \u003d "Гарчиг: $ subjectn"; $ header. \u003d "Mime-Version: 1.0n"; $ header. \u003d "Агуулгын төрөл: олон талт / холимог; хил \u003d" $ хязгаарлагдмал " ""; $ body \u003d "nn - $ bordern"; $ body. \u003d "Агуулгын төрөл: текст / html; charset \u003d" windows-1251 "\\ n"; $ body. \u003d "Агуулга-дамжуулах-кодчилол: иш татсан -printablenn "; $ body. \u003d" $ message "; $ file \u003d fopen ($ file_name," rb "); $ body. \u003d" nn - $ bordern "; $ body. \u003d" Агуулгын төрөл: програм / октет -stream; "; $ body. \u003d" name \u003d ". basename ($ file_name)." \\ n "; $ body. \u003d" Агуулга-дамжуулах-кодлох: base64n "; $ body. \u003d" Агуулга-Disposition: Хавсралтnn " ; $ body. \u003d base64_encode (fread ($ file, filesize ($ file_name))). "n"; $ body. \u003d "$ border - nn"; if (mail ($ to, $ subyekt, $ body, $ толгой)) (echo "Мессеж амжилттай илгээгдсэн!";) өөр (echo "Мессеж илгээгээгүй!";););

HTTP нь найдвартай TCP / IP холболтоор дамжуулан мессеж солилцох замаар ажилладаг клиент-серверийн архитектурын загвар ба харъяалалгүй хүсэлт / хариу протокол дээр суурилдаг.

HTTP "үйлчлүүлэгч" гэдэг нь нэг буюу хэд хэдэн HTTP хүсэлтийн мессеж илгээх зорилгоор сервертэй холболт үүсгэдэг програм (Вэб хөтөч эсвэл бусад үйлчлүүлэгч) юм. HTTP "сервер" гэдэг нь HTTP хариу мессеж илгээх замаар HTTP хүсэлтийг хангахын тулд холболтыг хүлээн авдаг програм юм (ерөнхийдөө Apache Web Server эсвэл Internet Information Services IIS гэх мэт).

HTTP нь өгөгдсөн нөөцийг таних, холболт тогтооход Uniform Resource Identifier (URI) ашигладаг. Холболт бий болсны дараа HTTP мессежүүд  интернетийн мэйл, олон талт интернет захидлын өргөтгөлүүд (MIME) ашигладагтай ижил хэлбэрээр явагдана. Эдгээр зурвасуудыг агуулж байна хүсэлт  үйлчлүүлэгчээс сервер хүртэл хариу  серверээс клиент дараах форматтай байх болно.

HTTP мессеж \u003d |   ; HTTP / 1.1 мессеж

HTTP хүсэлт болон HTTP хариултууд нь шаардлагатай мэдээллийг дамжуулахад RFC 822-ийн ерөнхий мессеж форматыг ашигладаг. Энэхүү ерөнхий мессежийн хэлбэр нь дараах дөрвөн зүйлээс бүрдэнэ.

  • Эхлэл шугам
  • CRLF-т 0 буюу түүнээс дээш тооны талбарууд орно
  • Гарчгийн талбаруудын төгсгөлийг харуулсан хоосон мөр (жишээ нь CRLF-ээс өмнөх зүйлгүй шугам)
  • Сонголт нь мессеж үндсэн хэсэг

Дараагийн хэсгүүдэд бид HTTP мессежэд ашигласан аж ахуйн нэгж тус бүрийг тайлбарлах болно.

Зурвасын эхлэл шугам

Эхлэл мөрөнд дараах ерөнхий синтаксис байх болно.

Эхлэл мөр \u003d Хүсэлт өгөх шугам | Статус шугам

Бид HTTP хүсэлт болон HTTP хариултын мессежүүдийг тус тусад нь авч үзэхийн тулд Хүсэлт мөр болон статус мөрийг хэлэлцэх болно. Одоогийн байдлаар хүсэлт, хариу өгсөн тохиолдолд эхлэх шугамын жишээг үзье.

GET /hello.htm HTTP / 1.1 (Үүнийг захиалагч илгээдэг Хүсэлтийн мөр) HTTP / 1.1 200 OK (Энэ бол Серверээс ирүүлсэн Status-Line)

Толгой талбар

HTTP гарчгийн талбарууд нь хүсэлт эсвэл хариу, эсвэл мессежийн хэсэгт илгээсэн объектын талаар шаардлагатай мэдээллийг өгдөг. Дөрвөн төрлийн HTTP мессежийн гарчгууд байдаг:

    Ерөнхий гарчиг:  Эдгээр толгой талбарууд нь хүсэлт болон хариу мессежийн хувьд нийтлэг хэрэглээтэй байдаг.

    Хүсэлт гарчиг:  Эдгээр гарчигийн талбарууд нь зөвхөн хүсэлтийн мессежийг ашиглах боломжтой байдаг.

    Хариу бичих толгой:  Эдгээр толгой талбарууд нь зөвхөн хариу мессежэнд ашиглах боломжтой байдаг.

    Байгууллагын толгой хэсэг:  Эдгээр толгой талбарууд нь байгууллага-бие махбодийн тухай мета мэдээллийг, хэрэв тухайн байгууллага байхгүй бол хүсэлтээр тодорхойлогдсон нөөцийн талаар тодорхойлдог.

Дээр дурдсан бүх гарчгууд ижил ерөнхий форматтай байх бөгөөд гарчигийн талбарууд нь араас нь тогтсон нэрээс бүрдэнэ ( : ) ба талбайн утгыг дараах байдлаар бичнэ.

Message-header \u003d талбарын нэр ":" [талбар-утга]

Дараахь нь янз бүрийн толгой талбаруудын жишээ юм.

Хэрэглэгч-Агент: curl / 7.16.3 libcurl / 7.16.3 OpenSSL / 0.9.7l zlib / 1.2.3 Хөтлөгч: www.example.com Зөвшөөрөх хэл: en, mi Огноо: Долдугаар сарын 27, 2009 оны 12:28:53 GMT Сервер: Apache Хамгийн сүүлд өөрчлөгдсөн: 2009 оны 7-р сарын 22-ний 19:15:56 GMT ETag: "34aa387-d-1568eb00" Хүлээн авах хүрээ: байт Агуулга-Урт: 51 Өөрчлөлт: Хүлээн авах-Кодлох агуулга-хэлбэр: текст / энгийн

Зурвасын их бие

Зурвасын эх хэсэг нь HTTP мессежний хувьд заавал байх ёстой боловч боломжтой бол хүсэлт, хариутай холбоотой байгууллага-биеийг авч явахад ашигладаг. Хэрэв аж ахуйн нэгж холбоотой бол ихэвчлэн Агуулгын төрөл  ба Агуулгын урт  гарчгийн мөрүүд нь холбоотой биеийн шинж чанарыг зааж өгдөг.

   Зөвхөн текст агуулж байна (бага жин бага)

  $ name \u003d "Петр Петрович"; // мессежэнд оруулах жишээ болгон нэмэлт хувьсагч

  $ subject \u003d "Бичлэгийн сэдэв"; // мессежийн сэдэв
  $ message \u003d "Сайн байна уу". $ name. "! \\ n
  Чи яаж байгаа юм бэ гэж л асуу! \\ N
  Хүндэтгэсэн, Иван Иванович "; // Зурвасын агуулга
  захиа ($ имэйл, $ сэдэв, $ мессеж, "From: [email protected] \\ nЖооп бичих: [email protected] \\ nКонтент хэлбэр: текст / энгийн; Charset \u003d utf-8 \\ r \\ n"); // мессеж илгээх
?>

2. Мэйл php төрлийн текст / html илгээх

  График html элементүүд, холбоосууд гэх мэтийг агуулж болно.
  Дэлгэрэнгүй мэдээллийг шилжүүлэв

  // олон хүлээн авагч руу илгээх
  $ to \u003d "[email protected]" руу илгээнэ үү. ","; // илгээсэн хүн
  $. \u003d "[email protected]" хаягаар явуулна уу. ","; // Анхааруулга! Тиймээс бид хоёр дахь болон бусад хаягуудыг бичдэг
  // таслал мартаж болохгүй. Сүүлийн холбоо барих үед ч гэсэн хэт их зүйл болохгүй
  // Эхлэгчдэд! $ to. \u003d энэ тохиолдолд хувьсагч дээр хавсаргах

  // хэрэв бид хүсвэл мессежийн төрлийг Агуулгын хэлбэрт тохируулна уу
  $ headers \u003d "MIME-хувилбар: 1.0". "\\ r \\ n";
  $ headers. \u003d "Агуулгын төрөл: текст / html; charset \u003d utf-8 \\ r \\ n";

  // нэмэлт мэдээлэл
  $ толгой. \u003d "From: yournick \\ r \\ n "; // хэнээс
  $ гарчиг. \u003d "Cc: [email protected]". "\\ r \\ n"; // энэ хаяг руу мессеж хуулах
  $ headers. \u003d "Bcc: [email protected] \\ r \\ n"; энэ захиасны сохор хуулбар
  мэйл ($ to, $ subject, $ message, $ headers);
?>

3. CSS үсгээр хэрхэн ашиглах вэ?

  Энд би чамайг нэн даруй жаахан уурлуулахыг хүсч байна - таны хэрэглэж байсан маягтын дагуу CSS ашиглах нь утгагүй юм. Захидал, Yandex, Google, Outlook - үсгээс загварыг хая. Гэсэн хэдий ч гарах арга зам бий.

Бид хэд хэдэн нөхцлийг биелүүлдэг:
1)   Бидний ашигладаг зүйлийг тодруулах шаардлагагүй гэж найдаж байна Агуулгын төрөл: текст / html

2)   Юу болохыг санаарай хүснэгт  сэрүүн. Одоо бид бүх хэв маягийг зөвхөн үүний дотор оруулна. Мөн эргэн дурсаж магадгүй юм төв, үсгийн.




Эх сурвалжаас: Иванов Иван Иванович
Хаяг: [email protected]
Зурвас: Бид харж, баярладаг

  Хамт хуваах  ижил зүйл

Танд хэрэгтэй текст

3)   Дээрх жишээнд захидал илгээхдээ энэ мөрийг өгсөн болно. Тиймээс түүнийг мартаж болохгүй

  $ headers \u003d "MIME-хувилбар: 1.0". "\\ r \\ n";

4)   Хэрэглэх HTML 3.2Байна. Html үсгийг эхэнд нь оруулна уу.


5)   Арын дэвсгэр байдлаар - та өнгөөр \u200b\u200bбудаж болно. Хэрэв та арын дэвсгэр зураг авахыг хүсч байвал бүх текст, дэвсгэр зургийг хий. Сонголтын хувьд та биеийн арын дэвсгэр зургийг сонгож болно.

6)   Gmail доторх нүдний цорын ганц зураг нь үүнийг харуулахгүйн тулд доороос нь 3хх хэмжээтэй оруулаарай