Avatar
Mediel
Redaktor
Avatar
Mediel:

nevite nekdo jak posilat z aplikace emaily ze seznamu? Klasicky postup nejde.

Odpovědět 12.10.2012 17:53
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Odpovídá na Mediel
David Jančík [sczdavos]:

V PHP jsem použil imap pak jsem si to hodil do XML a feeduji to do třídní skupiny na FB, abychom nemuseli sledovat stále schránku kvůli novým mailům.

$mailserver = "pop3.seznam.cz";
$port = "110/pop3";
$user = "@seznam.cz";
$pass = "";

if ($mbox = imap_open("{" . $mailserver . ":" . $port . "}INBOX", $user, $pass))
{
        $unread = imap_search($mbox, 'NEW');

        if (!empty($unread))
        {
                foreach ($unread as $i)
                {
                        $header = imap_header($mbox, $i);
                        $from = $header->from[0]->mailbox . '@' . $header->from[0]->host;

                        $body = imap_fetchbody($mbox, $i, 1);
                        $body = str_replace('=', '%', $body);
                        $body = urldecode($body);
                        $body = iconv("CP1250", "UTF-8", $body);
                        $body = nl2br($body);

                        echo('
                                <item>
                                <title><![CDATA[Nový třídní email]]></title>
                                <link>http://www.seznam.cz/</link>
                                <pubDate>' . date(DATE_RSS) . '</pubDate>
                                <description><![CDATA[' . $from . '<br />' . $body . '<br /><br />' . ']]></description>
                        </item>
                        ');
                }
        }
        else
        {
                echo('Nothing new');
        }

        imap_close($mbox);
}
else
{
        echo('Connect failed');
}

V C# je SMTP klient:
http://www.itnetwork.cz/…posilani-sms

Vyplníš to akorát jinak a mělo by to fachčit.

Nahoru Odpovědět 12.10.2012 18:41
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
matesax:

To je zbytečné - od toho má .NET System.Net.Mail.***

new System.Net.Mail.SmtpClient("host").Send(new System.Net.Mail.MailMessage("email odesílatele", "email příjemce")
{
    Subject = "Subject", Body = "Message text"
};);
Editováno 12.10.2012 19:07
 
Nahoru Odpovědět 12.10.2012 19:04
Avatar
Odpovídá na matesax
David Jančík [sczdavos]:

A v čem se to liší od mého kódu?

Nahoru Odpovědět 12.10.2012 19:07
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
 
Nahoru Odpovědět 12.10.2012 19:08
Avatar
Odpovídá na matesax
David Jančík [sczdavos]:

Já používám šifrované spojení. Kód napsaný na jeden dlouhý řádek není vždy kratší. Já to mám na více řádků kvůli přehlednosti.

(new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("muj@gmail.com", "******"), EnableSsl = true }).Send("sms-sender@devbook.cz", to, "Předmět", msg_body);

Teď ho máš delší ty ;)

Nahoru Odpovědět 12.10.2012 19:12
Čím více času dostaneš, tím méně ho máš.
Avatar
Mediel
Redaktor
Avatar
Mediel:

:-D :-D Kluci, budeme se tu hasterit, kdo co ma delsi? :-D :-D :-D

Mate to nekdo otestovany v C# ? Tedy ze pres program v C# lze odesilat email prave ze seznamu? Ono to ma prave problem s tim SMTP, protoze seznam je originalni a ma jinak resenou autentizaci... :(

Nahoru Odpovědět 12.10.2012 21:34
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
matesax
Redaktor
Avatar
Odpovídá na Mediel
matesax:

Vlastně oba píšeme totéž... Je blbost řešt server, ve kterém schránku máš/ kam posíláš.

new System.Net.Mail.SmtpClient("host").Send(new System.Net.Mail.MailMessage("email odesílatele", "email příjemce")
{
    Subject = "Subject", Body = "Message text"
};);
 
Nahoru Odpovědět 12.10.2012 21:53
Avatar
Odpovídá na Mediel
David Jančík [sczdavos]:

Mělo by fungovat tohle:

SmtpClient smtp = new SmtpClient("smtp.seznam.cz", 25);

Dle toho co píšou zde: http://napoveda.seznam.cz/…serveru.html

Ale nezkoušel jsem. Každopádně v PHP mi to jde, tj. by v C# neměl být problém.

Nahoru Odpovědět 12.10.2012 22:29
Čím více času dostaneš, tím méně ho máš.
Avatar
Odpovídá na Mediel
David Jančík [sczdavos]:

Jó a musí se něco povolit v nastavení emailu je POP3/IMAP. Pokud chceš mít přístup k těm mailům tak tam zaškrtni povolit IMAP.

Jinak, pokud jen chceš vystupovat pod danou e-mailovou adresou, tak jak říká matesax, můžeš zadat "od koho", "komu" a používat kterýkoliv SMTP server.

Nahoru Odpovědět 12.10.2012 22:33
Čím více času dostaneš, tím méně ho máš.
Avatar
Mediel
Redaktor
Avatar
Mediel:

Já vám nevim, nějak mi to stále nejde. Na emailu v nastavení jsem to povolil, tedy povolil jsme protokol IMAP.

kód vypadá takto:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            new System.Net.Mail.SmtpClient("smtp.seznam.cz", 25).Send(new System.Net.Mail.MailMessage("erdt.martin@seznam.cz","erdt.martin@seznam.cz")
            {
                Subject = "Subject", Body = "Message text"
            });
        }
    }
}

tedy pouze jsem doplnil váš kód a beztak to nefunguje, skončí to s výjimkou:

Mailbox unavailable. The server response was: 5.7.1 Not authenticated, please use AUTH first.

Nahoru Odpovědět 15.10.2012 1:18
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
matesax
Redaktor
Avatar
Odpovídá na Mediel
matesax:
System.Net.NetworkCredential mailAuthentification = new System.Net.NetworkCredential("jmeno@adresa.cz", "heslo");
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("smtp.seznam.cz", 25);

mailClient.EnableSsl = true;

mailClient.UseDefaultCredentials = false;

mailClient.Credentials = mailAuthentification;

mailClient.SendAsync(new System.Net.Mail.MailMessage("od koho", "kam")
{
    Subject = "Subject",
    Body = "Message text"
}, "xxx");
 
Nahoru Odpovědět 15.10.2012 6:24
Avatar
Mediel
Redaktor
Avatar
Mediel:

Ne :-D Proste se mi to nepovedlo zprovoznit :(

Nahoru Odpovědět 15.10.2012 22:04
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
matesax
Redaktor
Avatar
Odpovídá na Mediel
matesax:

Tady se jen může pokazit doplnění správných údajů... (Tímto kódem odesílám emaily naprosto běžně.)

 
Nahoru Odpovědět 15.10.2012 22:21
Avatar
Mediel
Redaktor
Avatar
Mediel:

user: pokusCsharp
pass: pokusCsharp11

Ted jsme tedy vytvoril pokusny email, ze ktereho se pokusim odeslat email na tento vytvoreny email. Kod vypada takto:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Net.NetworkCredential mailAuthentification = new System.Net.NetworkCredential("pokusCsharp@seznam.cz", "pokusCsharp11");
            System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("smtp.seznam.cz", 25);

            mailClient.EnableSsl = true;

            mailClient.UseDefaultCredentials = false;

            mailClient.Credentials = mailAuthentification;

            mailClient.SendAsync(new System.Net.Mail.MailMessage("pokusCsharp@seznam.cz", "pokusCsharp@seznam.cz")
            {
                Subject = "Subject",
                Body = "Message text"
            }, "xxx");
        }
    }
}

ale zadny email neprisel... Co dety delam spatne?

Editováno 15.10.2012 22:48
Nahoru Odpovědět 15.10.2012 22:46
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
matesax
Redaktor
Avatar
 
Nahoru Odpovědět 15.10.2012 22:54
Avatar
Mediel
Redaktor
Avatar
Odpovídá na matesax
Mediel:

A co mam dat misto tech 3x?

Nahoru Odpovědět 15.10.2012 22:55
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Mediel
Redaktor
Avatar
Odpovídá na matesax
Mediel:

Nefunguje mi to. :(

Ani kdyz doslovne okopiruji ukazku z toho webu, co jsi mi sem dal. A vyplnim ji podle mych predstav. Podelanej seznam! Nemuze byt normalni jako Gmail?

Nahoru Odpovědět 16.10.2012 14:21
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Odpovídá na Mediel
David Jančík [sczdavos]:

Uka, jak to máš. Hoď sem celej ten projekt. Třeba na DropBox v zipu.

Nahoru Odpovědět 16.10.2012 14:23
Čím více času dostaneš, tím méně ho máš.
Avatar
Mediel
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
Mediel:

V ukazce na tom webu neni prihlaseni ke klientovi, zkusil jsme to vsak bez nej a psalo to 5.7.1 ze to chce autentifikaci. Vytvoril jsme tedy autentifikaci a ted to zas pise, ze se nezdarila... Dal bych prednost tomu kratsimu kodu od Matesaxe, ale tam zas nevim co strcit misto tech "xxx".

using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Threading;
using System.ComponentModel;
namespace Examples.SmptExamples.Async
{
    public class SimpleAsynchronousExample
    {
        static bool mailSent = false;
        private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
        {
            // Get the unique identifier for this asynchronous operation.
            String token = (string)e.UserState;

            if (e.Cancelled)
            {
                Console.WriteLine("[{0}] Send canceled.", token);
            }
            if (e.Error != null)
            {
                Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
            }
            else
            {
                Console.WriteLine("Message sent.");
            }
            mailSent = true;
        }
        public static void Main(string[] args)
        {
            // Command line argument must the the SMTP host.
            SmtpClient client = new SmtpClient("smtp.seznam.cz",25);
            client.Credentials = new NetworkCredential("pokusCsharp", "pokusCsharp11");
            // Specify the e-mail sender.
            // Create a mailing address that includes a UTF8 character
            // in the display name.
            MailAddress from = new MailAddress("erdt.martin@seznam.cz","Martin Erdt", System.Text.Encoding.UTF8);
            // Set destinations for the e-mail message.
            MailAddress to = new MailAddress("erdt.martin@seznam.cz");
            // Specify the message content.
            MailMessage message = new MailMessage(from, to);
            message.Body = "This is a test e-mail message sent by an application. ";
            // Include some non-ASCII characters in body and subject.
            string someArrows = new string(new char[] { '\u2190', '\u2191', '\u2192', '\u2193' });
            message.Body += Environment.NewLine + someArrows;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.Subject = "test message 1" + someArrows;
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            // Set the method that is called back when the send operation ends.
            client.SendCompleted += new
            SendCompletedEventHandler(SendCompletedCallback);
            // The userState can be any object that allows your callback
            // method to identify this send operation.
            // For this example, the userToken is a string constant.
            string userState = "test message1";
            client.SendAsync(message, userState);
            Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit.");
            string answer = Console.ReadLine();
            // If the user canceled the send, and mail hasn't been sent yet,
            // then cancel the pending operation.
            if (answer.StartsWith("c") && mailSent == false)
            {
                client.SendAsyncCancel();
            }
            // Clean up.
            message.Dispose();
            Console.WriteLine("Goodbye.");
        }
    }
}
Nahoru Odpovědět 16.10.2012 14:29
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Odpovídá na Mediel
David Jančík [sczdavos]:

Tak jsem to zkoušel. A prý, že seznam.cz neumožňuje přístup ke svému SMTP serveru. Resp. ta metoda Send u C# SmtpClient potřebuje něco co seznam nedovoluje.

Takže to asi budeš muset posílat přes G-Mail a zadáš jako odesílatele e-mail seznamu nebo zkusit nějaký free smtp server.

Nahoru Odpovědět 16.10.2012 18:45
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Mediel
matesax:

Založ si email na gmailu a zařiď si přeposílání - a je to... :)

 
Nahoru Odpovědět 16.10.2012 19:10
Avatar
Mediel
Redaktor
Avatar
Mediel:

No ja si to myslel, ze seznam je proste na pytel :-D Ja se tady s tim morduju uz 3 den :-D diky kluci... Se sznamem jsem skoncil :-D

Nahoru Odpovědět 16.10.2012 21:59
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Mediel
Kit:

Svého času Seznam vyžadoval POP_before_SMTP. Možná už zrušili i tuto možnost.

Nahoru Odpovědět 16.10.2012 22:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Hojky,
vím že tohle vlákno je už staré, ale třeba se to ještě někomu bude hodit. :)
Udělal jsem si do jedné aplikace třídu SeznamCz, kdyžtak jí sem můžu o víkendu hodit (píšu z mobilu), stačí říct. Ještě musím pošéfit přílohy, jinak by měla fungovat.

 
Nahoru Odpovědět 19.2.2013 19:46
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Ještě jednou jsem si přečetl svůj komentář a vidím, že není úplné zřejmé, jestli myslím aplikací nebo třídu. Na mysli jsem měl třídu.

 
Nahoru Odpovědět 19.2.2013 21:55
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Omlouvám se za doublepost, omylem jsem se dotknul displeje.

 
Nahoru Odpovědět 19.2.2013 21:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David Dostal
David Čápka:

Jo, určitě by se někomu hodila :)

Nahoru Odpovědět 19.2.2013 21:59
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Tak uz to zase zmizlo, omlovam se za spam.

 
Nahoru Odpovědět 19.2.2013 22:01
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Ok, v patek nebo v sobotu se podelim. To me tesi, ze mozna najde jeste vyuziti. :)

 
Nahoru Odpovědět 19.2.2013 22:03
Avatar
Mediel
Redaktor
Avatar
Odpovídá na David Dostal
Mediel:

Ahoj, mohl bys jí sem prosím hodit? :) Určitě to někomu pomůže :) Třeba mě, i když tedy vše řeším už přes Gmail :D

Nahoru Odpovědět  +1 23.2.2013 13:06
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Budu se snažit to sem do večera dát. Mám trochu problémy při posílání více příloh najednou.

 
Nahoru Odpovědět  +1 23.2.2013 15:23
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Tak, máš to tady: https://www.dropbox.com/…b/19u-AZhvoi
Použití:

SeznamCz seznam = new SeznamCz();
seznam.mailMessage = nejakaTvojeMailMessage;
seznam.networkCredential = tvojeNetworkCredentials;
seznam.Odesli();
 
Nahoru Odpovědět  +1 23.2.2013 19:19
Avatar
Mediel
Redaktor
Avatar
Nahoru Odpovědět 23.2.2013 19:35
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Jeninek
Neregistrovaný
Avatar
Jeninek:

ahojky zkuste pouzit misto
SmtpClient client = new SmtpClient("smtp­.seznam.cz",25);

tohle

SmtpClient client = new SmtpClient("mx1­.seznam.cz",25);

seznam je proste shit
jinak samozrejme jede bez ssl :(

 
Nahoru Odpovědět 27.2.2013 21:46
Avatar
HANiS
Neregistrovaný
Avatar
HANiS:

Jeninek: Díky!!! mx1.seznam.cz místo smtp.seznam.cz mi zabralo

 
Nahoru Odpovědět 16.3.2013 23:14
Avatar
HANiS
Neregistrovaný
Avatar
Odpovídá na Jeninek
HANiS:

Díky!!! mx1.seznam.cz místo smtp.seznam.cz mi zabralo

 
Nahoru Odpovědět 16.3.2013 23:14
Avatar
Mediel
Redaktor
Avatar
Odpovídá na David Dostal
Mediel:

Ahoj, tak me napadlo, nechtel bys udelat nejaky jednoduchy EmailSender ze ktereho by to slo odesilat vsude? Jako demonstraci tve tridy... Urite, by to nekdo rad vyuzil :) Nebo spis si prohlid za ucelem pochopeni kodu, tak by bylo dobre to i hodne komentovat :)

Nahoru Odpovědět 19.3.2013 21:34
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
David Dostal
Redaktor
Avatar
Odpovídá na Mediel
David Dostal:

Jasně, udělám. Bude to ale chvíli trvat, momentálně dělám na třech projektech zároveň a ještě k tomu mám přístup k počítači jen o víkendu. Určitě ale zařadím do fronty.

 
Nahoru Odpovědět  +1 19.3.2013 22:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 40 zpráv z 40.