Ne, to právě ne. Psal jsem, že jméno a heslo a server musí být pro adresu odesílatele. Kromě toho dávat do aplikace své heslo není příliš dobrý nápad - každý jej může přečíst. Obecně se zprávy o chybách z aplikace neodesílají mailem, ale jiným způsobem. Jediné, co mě teď napadá, je použít tuto fintu - otevřít e-mailového klienta, kterého má uživatel nainstalovaný, a odeslat e-mail přes něj. Navíc má uživatel možnost říci, že zprávu odesílat nechce a vidí, co se odesílá (programy odesílající data bez vědomí uživatele nejsou příliš ideální). Pokud uděláte odkaz mailto:[email protected]?subject=Hlaseni+o+chybach&body=text+zpravy , měl by se otevřít e-mail s již vyplněnými poli ve výchozím mailovém klientovi. Texty se ale do této adresy musí zakódovat pomocí funkce UrlEncode, aby v adrese nebyly problematické znaky (háčky, čárky, mezery, speciální symboly atd.). Jak tedy na to? Ve vlastnostech projektu si na záložce References přidejte do projektu novou knihovnu System.Web. Zavřete vlastnosti projektu a napište tento kód, který zprávu vytvoří:
Dim adresa As String = "cílová@adresa.cz"
Dim predmet As String = "Hlášení o chybách"
Dim text As String = "chybová hláška atd."
'zakódovat adresu
predmet = System.Web.HttpUtility.UrlEncode(predmet)
text = System.Web.HttpUtility.UrlEncode(text)
'spustit klienta
System.Diagnostics.Process.Start("mailto:" & adresa & "?subject=" & predmet & "&body=" & text)
Doufám, že jsem v tom nikde neudělal chybu.
|