Слање е-порука са прилозима помоћу Делпхи & Инди

Испод су упутства за креирање „пошиљаоца е-поште“ која садржи опцију за слање е-порука и прилога директно из Делпхи апликације. Пре него што почнемо, размотрите алтернативу ...

Претпоставимо да између осталих задатака имате апликацију која делује на неким подацима базе података. Корисници морају да извезе податке из ваше апликације и послати податке путем е-поште (попут извештаја о грешци). Без приступа наведеног у наставку, податке морате да извезите у спољну датотеку, а затим да их пошаљете клијентом е-поште да бисте их послали.

Слање е-поште од компаније Делпхи

Постоји много начина на које можете послати е-пошту директно из Делпхија, али најједноставнији начин је употреба СхеллЕкецуте АПИ. Ово ће послати е-пошту користећи подразумевани клијент е-поште инсталиран на рачунару. Иако је овај приступ прихватљив, на овај начин не можете да шаљете прилоге.

Друга техника користи Мицрософт Оутлоок и ОЛЕ за слање е-поште, овај пут са подршка за прилог, али МС Оутлоок је тада потребан да се користи.

instagram viewer

Још једна опција је коришћење Делпхијеве уграђене подршке за Виндовс Симпле Маил АПИ. Ово функционише само ако корисник има инсталиран МАПИ програм е-поште.

Техника о којој овде расправљамо користи Инди (Интернет Дирецт) компоненте - сјајан интернет компонентни сет који се састоји од популарних интернетских протокола написаних у Делфима и заснованих на блокирању утичница.

Метода ТИдСМТП (Инди)

Слање (или преузимање) порука е-поште с компонентама Инди-а (које се испоручују са Делпхи 6+) је једноставно попут испуштања компоненте или две на образац, постављања неких својстава и „клика на дугме“.

За слање е-поште са прилозима из Делпхија помоћу Инди-а, потребне су нам две компоненте. Прво, тхе ТИдСМТОП користи се за повезивање и комуникацију (слање поште) са СМТП сервером. Друго, тхе ТИдМессаге обрађује складиштење и кодирање порука.

Када је порука конструисана (када ТИдМессаге је "испуњен" подацима), е-пошта се доставља СМТП серверу помоћу ТИдСМТП.

Пошаљите изворни код пошиљатеља

Направио сам једноставан пројекат пошиљаоца поште који објашњавам у наставку. Цео изворни код можете преузети овде.

Белешка: Та веза је директно преузимање у ЗИП датотеку за пројекат. Требали бисте бити у могућности да га отворите без икаквих проблема, али ако не можете, користите 7-Зип да бисте отворили архиву како бисте могли да издвојите датотеке пројекта (које су смештене у фасцикли која се зове Пошаљи пошту).

Као што можете видети из екрана времена пројектовања, послати е-пошту користећи ТИдСМТП компоненту, најмање морате навести СМТП сервер поште (хост). Сама порука треба да се попуњавају редовни делови е-поште, као што је Фром, До, Предметитд.

Ево кода који обрађује слање једног е-маила са прилогом:

процедура ТМаилерФорм.бтнСендМаилЦлицк (Пошиљалац: ТОбјецт); започети СтатусМемо. Јасно; // подешавање СМТП СМТП.Хост: = ледХост. Текст; СМТП.Порт: = 25; // подешавање поруке е-поште МаилМессаге. Фром. Адреса: = ледФром. Текст; МаилМессаге. Примаоци. ЕМаилАддрессес: = ледТо. Тект + ',' + ледЦЦ.Тект; МаилМессаге. Субјецт: = ледСубјецт. Текст; МаилМессаге. Тело. Текст: = Тело. Текст; ако ФилеЕкистс (ледАттацхмент). Текст) онда ТИдАттацхмент. Креирајте (МаилМессаге) МессагеПартс, ледАттацхмент. Текст); //Пошаљи поштупокушатипокушати СМТП.Цоннецт (1000); СМТП.Сенд (МаилМессаге); осимна Е: Изузетак је. СтатусМемо. Линес Уметните (0, 'ГРЕШКА:' + Е.Мессаге); крај; напоконако СМТП.Цоннецтед онда СМТП.Дисцоннецт; крај; крај; (* клик бтнСендМаил *)

Белешка: Унутар изворног кода наћи ћете два додатна поступка која се користе за прављење вредности Домаћин, Фром, и До уређивање кутија је трајно, користећи ИНИ датотеку за складиштење.

instagram story viewer