Oppure

Loading
19/05/22 18:29
quasar87
Così è corretto come struttura?

using System.Net;
using System.Net.Mail;

namespace myemail;

class Program
{
static void Main(string[] args)

{
static void email_send()
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("nomeserversmtp";);
mail.From = new MailAddress("emailperinvio";);
mail.To.Add("emaildestinatario";);
mail.Subject = "provainvioemailconallegato";
mail.Body = "mail with attachment";

System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("/…;);
mail.Attachments.Add(attachment);

SmtpServer.Port = 465;
SmtpServer.Credentials = new System.Net.NetworkCredential("emailperinvio", "passwordemailperinvio";);
SmtpServer.EnableSsl = true;

SmtpServer.Send(mail);

}
email_send();
}
}
19/05/22 18:29
quasar87
PS: non vedo più il tag per racchiudere il codice.
19/05/22 18:43
Ma no! Non hai le idee chiare sulle basi del linguaggio.

Non devi inserire una funzione dentro l'altra. Avrai un sacco di errori, altro che ...

E poi se ad esempio usi gmail la porta è la 587 e devi abilitare nel tuo account l'uso di app non sicure.
Inoltre per l'allegato usa una cartella.

using System.Net.Mail;

namespace myemail
{ 
    class Program
    {
        static void email_send()
        {
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com", 587);
            SmtpServer.EnableSsl = true;
            SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
            SmtpServer.UseDefaultCredentials = false;
            SmtpServer.Credentials = new System.Net.NetworkCredential("mailperinvio@gmail.com", "password");


            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("mailperinvio@gmail.com");
            mail.To.Add("mailperricezione@....");
            mail.Subject = "Prova invio email";
            mail.Body = "Mail con allegato";

            System.Net.Mail.Attachment attachment;
            attachment = new System.Net.Mail.Attachment("C:\Cartella\allegato.pdf");
            mail.Attachments.Add(attachment);

            SmtpServer.Send(mail);
        }

        static void Main(string[] args)
        {
            email_send();
        }
    }
}


19/05/22 19:11
quasar87
Attualmente non ricevo errori però e per quanto riguarda l'invio utilizzo un servizio di server smtp, ssl=true, porta 465, ok per l'allegato uso una cartella
19/05/22 19:13
E quindi? Funziona?

Quale smtp usi o è un segreto?
Ultima modifica effettuata da 19/05/22 19:22
21/05/22 13:56
quasar87
Come ti dicevo, non funziona ma non vengono restituiti errori e viene compilato, ma avviandolo dall'eseguibile appare la console nera e basta, e l'email non viene inviata.
Il servizio smtp è quello base di turbosmtp.
Ultima modifica effettuata da quasar87 21/05/22 13:57
21/05/22 14:00
quasar87
Mi facevi notare che mancava questa parte:


    class Program
        {
            static void Main(string[] args)
            {
            }
        }


ma tentando di integrarla nel mio codice non l'avevo fatto bene, però non mi segna errori e quindi non ho riferimenti per cercare di risolvere.
21/05/22 17:09
L'esempio di codice che ti ho mostrato funziona benissimo e manda mail regolarmente con gmail.

turbosmtp è un'altra storia (e avresti dovuto dirlo PRIMA di 5 pagine di messaggi!). Quello è un servizio web con apposite API e registrazione ... un'altra storia.

Con turbosmtp devi utilizzare delle apposite API per gestire gli invii, è indicato nel sito. Devi avere un codice di autorizzazione (esempio Authorization: 44cf4c36d0e9cbe32f6fd83ff69a9df3b6212828c) da inviare ad ogni richiesta come cookie o header.

Qui

dashboard.serversmtp.com/downloads/…

un esempio in C#
Ultima modifica effettuata da 21/05/22 17:28