Php Sendmail за изпращане на поща с прикачени файлове чрез PHP - блог уеб разработчик koz1024

В тази статия искам да ви кажа как да изпращате имейли с прикачени файлове, използвайки PHP стандарт, без библиотеки круша, и други подобни.

Нека да започнем с основите. Изпращане на поща в PHP се изпълнява чрез функции поща:

В най-простата си форма тя изглежда така:

Ако резултатът от vysheprevedennogo скрипт ще грешка, така че във вашия PHP натрупване не поддържа поща, Съветвам ви да се свържете с администратора.

Сега ние трябва да се разбере с допълнителни заглавки. Това по принцип такова писмо заглавие с? Това, според стандарта RFC-822, едно от парчетата на електронна поща. Това означава, че в писмото се състои от заглавна част и тяло (а също и на "плик", но че сега не е нужно да). Заглавие винаги е в предната част на тялото и отделена от нея с един празен ред. Заглавната част се състои от име и съдържанието разделени от дебелото черво. Взаимно заглавията са разделени както следва: всяко заглавие започва на нов ред. Но това е по-добре да разгледаме един пример:

Изпращането на писма до HTML-формат

Повечето от задачите, по-горе сценарий, изпращане mail`ov достатъчно, но ще продължи напред и да научат как да се изпращат електронни писма в HTML формат. Това също не е голяма работа:

И също така имайте предвид, че бягството-последователността (а именно така наречените дизайн тип \ R \ N) работи само с двойни кавички!
Какво е новото в този скрипт? Ами, на първо място, ние сме посочено в типа на съдържанието заглавия (HTML) и характер. На второ място, само на тялото, което искате от нас да напише HTML-код. Толкова е просто!

Изпращането на съобщения с прикачени файлове

Тук можем да се приближи към изпращането на имейли с прикачени файлове в PHP.

Тя е сложно? Не е вярно, нека да се справят. Да започнем с това, ние създадохме уникален идентификатор $ ООН, с негова помощ ние ще бъдем в състояние да споделят помежду прикачените файлове, както и тялото на съобщението. След това, ние прочете съдържанието на включения файл и да го съхранява в променливата $ файл.

Но има един изпращане? Заглавията са указани вида на съдържанието, и нашата уникална сепаратора (Content-Type :. Многопластови / алтернатива. Граница = "----------" $ ООН ""). И в тялото на имейл, споделяне сепаратор, първо напишете текста, а след това на прикачения файл:

Писане естествено, индикиращ типа съдържание (Content-Type) и вид реализация (Content-Transfer-Encoding).
chunk_split (base64_encode ($ файл)) - това е нашата прикачен файл (не забравяйте, ние имаме променлива съдържание $ файл?) тя предварително се превърнат в base64

Готов функция за изпращане на мейл с прикачен файл

Ако читателят ще прочете до този момент, тук е универсална функция за изпращане на мейл с прикачен файл:

С придобитите знания, лесно можете да получите в работата на функцията. Надявам се, че това е полезно!

Изпращането на имейли в HTML формат с изображения

Исках да напиша този раздел веднага след "изпращане на писмо в HTML-формат", и би било логично. Но. Раздел ще направи много тромава, докато се възползвате от функциите, които описах по-горе, можете лесно да предават съобщения в HTML формат и дори със снимки. Нека просто кажем, че изображенията се имат yavlyatsya част от кода на HTML, но вместо да се отнасят към тях - използва CID - идентификатор

Намерихте ли това, което търсите? Да Не

"Готов функция за изпращане на мейл с прикачен файл," Файлът не е свързан към писмото като файл и отива в тялото на имейл в обикновен текст

AntonMMF. и всеки, който използва функцията: да се запази на изходния файл в тялото на съобщението, махнете се счупи двойна линия "\ R \ н \ R \ Н" (замени с един), и се опитват да пишат всички заглавията в един ред, и цялото тяло в един ред I, за съжаление, аз не мога сега, но по-късно той е сигурен, да бърникането в статията, за да покаже колко е необходимо. AntonMMF. Благодарим Ви, че забелязах!

Точно навреме) Благодаря ви.

Благодаря ви за вашия скрипт. Но аз имам някаква причина писмото идва по пощата.

nezabudka. причините могат да бъдат много: от конфигурацията на сървъра, до точката справи; трябва да се търси, да се разбере, че в конкретния случай, вашият

Content-Type на писмото трябва да е съставно / смесена, а не алтернатива. Алтернативно се използва, когато писмото съдържа няколко различни изображения на една и съща. Например, клиентите за електронна поща, когато изпращате имейли HTML-често включват обикновен текст версия на една и съща буква. За тази цел на съобщение от типа на съставното / алтернатива, а на част от видовете текст / обикновен, текст / HTML. Е-мейл клиент на приемащата страна, който разбира HTML, покажете съдържанието на вида на текста / HTML, и ако се окаже, че писмото е стара и не разбира HTML (или потребител изключен), тя ще използва част от типа на текст / обикновен.

Интересно е, но системата отчита само първата титла от "From: [email protected] \ R \ н Content-Type: текст / HTML; набор знаци = UTF-8 \ R \ н X-Mailer: PHP мейл скрипт" Това не е от значение, параметър, който определя на първо място. Следвайки примера на правилно експонирани "от", а текстът на писмото формат