
Delphi - synapse
Zdravím Vás.
Jsem v prací našel v jednom pc Delphi XE10, tak zkouším.
Když chcí použít synapse, kde zadat cestu k adresaří kde ho mam (e:\synapse40\source\lib\)
Abych je nemusel kopirovat do adresaře, kde mam uložen projekt?
Když chcí programek, který mi odešle email s přilohou, je synapse dobra volba?
Děkují.
Súbor README asi netreba čítať....
čiže v menu IDE: Tools -> Options... -> Library -> Library Path..
Či je to dobra voľba na posielanie mailu s prílohou neviem posúdiť...
Nevěř Řekům, ani když posílají dary
Posílat mail je docela široký pojem.
Záleží na tom, přes jaký server chceš mail používat.
Klidně můžeš použít INDY, které je už součástí Delphi. Na odeslání mailu je tam i příklad.
Synapse je jen knihovna, ne komponenty - takže používáš v kódu. Ale zase je jednoduchá i na použití.
No mi jde o to, vytvořít si e-mail třeba na seznamu nebo centru a přes něj poslat někomu nějakou přilohu.
Toto jsem našel
https://delphi.cz/post/Odesilani-mailu-pres-SMPT-za-pomoci-Synapse.aspx
http://forum.lazarus.freepascal.org/index.php?topic=26752.0
Zadal sis cestu ke zdrojům Synapse do Library Path, jak ti radil PME?
V čem máš tedy konkrétně problém?
Se omlouvam za odmlčení ale vanoce
Nemam problem s kodem ale s synautil.pas
Knižnica Synapse je už dosť stará a nepočíta s novšími verziami Delphi...
preto dostávaš Error hlásenia:
[dcc32 Error] synautil.pas(609): E2003 Undeclared identifier: 'TimeSeparator' - znamená, že na riadku 609 v zdrojovom kóde synautil.pas je deklarovaná premenná TimeSeparator,
ktorá bola kedysi v starších verziách Delphi deklarovaná ako globálna premenná v unite SysUtils. V novších verziách Delphi už je deklarovaná v dátovom type TFormatSettings - pozri System.SysUtils.
Riešenie: prepíš na riadku 609 a 2062 TimeSeparator -> FormatSettings.TimeSeparator a ShortMonthNames - > FormatSettings.ShortMonthNames.
Malo by to fungovať. Warning hlásenia môžeš na teraz ignorovať...
Mam Synapsi 4.015.006 a tam jsou tyto systémové proměnné používány s podmíněným překladem:¨
Příklad ze Synautil.pas, řádek 637
Takže buď je špatně nastavený INC soubor nebo si stáhnul nějakou prastarou verzi.
Tohle by mělo být v pořádku:
https://sourceforge.net/p/synalist/code/HEAD/tree/trunk/¨
Co jsem se koukal, tak poslední opravy od Lukáše jsou tam z loňského roku
Děkují za odkaz, ja stahoval a použival stable release synapse40.zip
Mam to bez chyby ale stejnak se mi nedaří email odeslat.
U toho přikladu od Radka červenky, to
AddPartText(mem1.Lines, oMultiPartAlt);
AddPartHTML(mem2.Lines, oMultiPartAlt);
Je to komponenta memo?
http://img24.cz/images/93443741850147210785.png
Potřebují jen uložít tabulku StringGridu do souboru a odelat emailem.
http://delphiexamples.com/components/stgrid2file.html
Co znamená "nepodaří se mi mail odeslat"?
Nevím, zda Seznam nepotřebuje někde v nastavení povolit použití POP3 a SMTP protokolu.
Taky nevím, zda SMTP seznamu nevyžaduje šifrovanou komunikaci, pak bys musel použít spodní část toho příkladu s TLS šifrováním.
Napíše ti to nějaké chybové hlášení? Asi by bylo vhodné zapnout logování komunikace se SMTP serverem při odesílání, abys věděl, co se děje.
Hm.Bych řek, že jsem si ukous moc velke sousto
Ja myslel, že když jsem rozchodil email přes smtp.seznam.cz na linuxu přes ssmtp a mailutils, tak to bude tak jednoduche i v delphi.
No bubu zkoušet
Hlavně musíš zjistit, co ti neprošlo. To zjistíš na úrovni Socket, pokud si napíšeš obsluhu události.
Začni tím, že pošleš mail bez přílohy a multipart - prostý text. Pokud ti to projde, budeš vědět, že komunikace je v pořádku a problém je ve skládání multipart mailu.
Vybral sis knihovnu bez komponent, kterou obsluhuješ sám pomocí kódu. Radil jsem ti použít InDy, ta bude pro tebe jako začátečníka jednodušší. Můžeš zkusit podobný příklad:
https://delphi.cz/post/Odesilani-mailu-pres-SMTP-Delphi-Indy.aspx
případně se podívat na příklady, které máš pro InDy na webu nebo nainstalované v příkladech s instalací Delphi.
Tak jste měl pravdu.
Jsem si hral s tým synapse i indy.
Mam internet od providera, který ma i poštoví servr bez šifrovaní.
Když si ho nastavím a necham ten 25 port tak mi funguje jak ten přiklad se synapse s přilohou, tak i přes indy.
smtp.seznam.cz umí a je funkční 25 port - zabezpečení na přimý port TLS(SSL).
A 465 portu - zabezpečení na vyhrazený port TLS(SSL).
Tak až toto zvladnu, bude to fungovat