odeslání emailu na smtp.seznam.cz   zodpovězená otázka

VB.NET

Dobrý den,

nemohu si poradit s odesláním emailu na adresu [email protected], tedy na smtp.seznam.cz.

Po napsání následujícího:

Private Sub SendMail(ByVal from As String, ByVal body As String)
        Dim mailServerName As String = "smtp.seznam.cz"
        Dim port = "25"
        Dim userName = "emailadresa"
        Dim password = "heslo"
        Dim message As MailMessage = New MailMessage(from, "emailadresa", "predmet", body)
        Dim mailClient As SmtpClient = New SmtpClient("localhost")

        mailClient.Host = mailServerName
        mailClient.Port = port
        mailClient.Send(message)
        message.Dispose()

    End Sub

vyžaduje server seznamu autentizaci, takže bych měl použít asi něco jako:

Dim value As ICredentials

value = CredentialCache.DefaultCredentials

Jak mám správně nadeklarovat Credentials, resp. jak se můžu jinak vypořádat s autentizací na smtp.seznam.cz? Nebo dělám něco špatně?

Předem díky za nějaké nápady a připomínky!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1. Pro bloky kódu v diskusi používejte, prosím, tlačítko VB Code.

2.

mailClient.Credentials = New System.Net.NetworkCredential("MailUser", "MailPass")

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

omlouvám se, nevím kde naleznu tlačítko VB code?

Jinak odpověď serveru byla, že se ověření nezdařilo...

a jde o řádek mailClient.Send(message) - jde o nějaké nastavení serveru seznam??

Díky

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Musíte před zavoláním Send nastavit tu vlastnost Credentials a mělo by to jít, pokud tam dosazujete správné jméno a heslo.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Asi dělám něco blbě... pořád mám odpověď serveru Ověření se nezdařilo a červený odkaz na řádek mailClient.Send(message). Tohle je "můj" kod:

Imports System.Net.Mail


Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
        If txtComments.Text.Length > 10 Then
            args.IsValid = False
        Else
            args.IsValid = True
        End If
    End Sub

    Protected Sub Wizard1_FinishButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick
        SendMail(txtEmail.Text, txtComments.Text)
    End Sub

    Private Sub SendMail(ByVal from As String, ByVal body As String)
        Dim mailServerName As String = "smtp.seznam.cz"
        Dim port = "25"
        Dim userName = "emailadresa"
        Dim password = "heslo"
        Dim message As MailMessage = New MailMessage(from, "emailadresa", "objednávka", body)
        Dim mailClient As SmtpClient = New SmtpClient("localhost")

        mailClient.Host = mailServerName
        mailClient.Port = port
        mailClient.Credentials = New System.Net.NetworkCredential("emailadresa", "heslo")
        mailClient.Send(message)
        message.Dispose()

    End Sub
End Class

přičemž emailadresa je moje celá adresa [email protected] a heslo je moje heslo pro přihlášení - správností jsem si jist...

Napadá Vás něco?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkus před řádek s credentials přidat toto:

mailClient.UseDefaultCredentials = false

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dík za příspěvek, nicméně výsledek je stále stejný....Ověřování se nezdařilo.

Na firemní server mi vše chodí v pohodě, ale na smtp.seznam.cz to nejde a nejde - už nevím co bych změnil nebo vyzkoušel

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na firemnim serveru také používáte autentizaci?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To přesně nevím, ale asi ne, když to chodí :-) (sice to přijde s označením spam, ale přijde...)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A funguje ti připojení na smtp server?

telnet smtp.server.cz 25

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mám za to, že připojení na server funguje, když požaduje autentizaci, nebo se pletu? Nicméně tím stringem cos mi poslal to nějak zjistím? Kam ho mám vepsat?

Díky!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To dáš do cmd line ve Windows,tzn. Start->Spustit->cmd-> telnet smtp.seznam.cz 25

Pokud se telnet podaří,tak by to po tobě mělo chtít autentizaci,ale myslim,že usrname a passwd bude muset být kódováno v Base64.

Já to včera zkoušel a taky se mi to nepodařilo.Zkusil jsem si sniffnout komunikaci a vypadá to na problém s .net smtp clientem,respektive jeho autentizací.Alespon co se týče frameworku 2.0 a 3.5.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

v příkazovém řádku jsem dostal odpověď, že příkaz telnet nezná... ? Jinak jak jsi psal, že to vypadá na problém s autentizací na smtp clientovi, tak to je dost blbý, ne? Dá se to nějak obejít nebo prolomit??

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejsem moc zkušený programátor,spíše začátečník,takže nedokážu odhadnout pracnost jiného řešení,Další možností je využití jiného smtp serveru či nějaké externí komponenty,která by zajištovala autentizaci.

Ale je také dost dobře možné,že se zde na fóru najde někdo,kdo přijde na nějaký snažší způsob.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

OK, díky moc za názory a příspěvky.

V tuto chvíli vidím nejjednodušší změnit smtp server, i když je to řešení úhybné...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Řešení úhybné to sice je, na druhou stranu stejně si myslím, že v podmínkách Seznamu je někde, k jakým účelům se SMTP smí používat a pokud tu aplikaci nemáte pro osobní potřebu, ale používáte ji třeba ve firmě, pak to stejně asi není úplně košer.

Docela dobré zkušenosti mám s hotmailem, odesílá se přes smtp.live.com a Windows Live ID není těžké založit.

Jediné, na co je třeba dát si pozor, je nastavit při komunikaci se SMTP serverem na live.com vlastnost EnableSsl na true.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Budu zkoušet, snad se mi něco podaří...

Mimochodem, mohlo by být řešením využití hostingového serveru? To bych pak měl vlastní smtp.mojestranky.cz?

Zatím s tím nemám zkušenosti...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží na webhostingu, ale většinou by to mělo být možné.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback