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 мейл скрипт" Това не е от значение, параметър, който определя на първо място. Следвайки примера на правилно експонирани "от", а текстът на писмото формат