Mail .net senza utilizzare System.Web.Mail

martedì 26 aprile 2011 - 17.05
Tag Elenco Tags  C#  |  VB.NET  |  .NET 2.0  |  .NET 3.5  |  Visual Studio 2008

blackspidy14 Profilo | Junior Member

Ciao a tutti dovrei inviare delle mail dalla mia applicazione .net fino ad oggi usavo il seguente codice

Dim o As Object
Dim m As Object
o = CreateObject("outlook.Application")
m = o.CreateItem(0)
m.To = "me@web.it"
m.Subject = "Messaggio di posta"
m.body = "Ciao a tutti"
m.Display()

ma ciò implica anche essere in possesso di una copia di office con outlook già configurato e funzionante. Posso fare la medesima cosa utilizzando il client di posta predefinito?

vorrei evitare di usare ' Process.Start("mailto: ... ...' perchè il testo della mail deve usare una certa formattazione.

grazie a tutti in anticipo.

luigidibiasi Profilo | Guru

System.Web.Mail non necessità di outlook e ti permette di inviare il testo sia come 'testo flat' che come html/rtf

devi abbandonare quel metodo con createObject

Cerca su google trovi una miriade di esempi
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

StefanoRicci Profilo | Junior Member

il codice è in c#.net 3.5

http://www.dotnethell.it/forum/messages.aspx?ThreadID=38912

trovi il codice per loggati al server smtp, per la mail, basta che vedi nella classe cosa poter fare... puoi farla in formattazione html per fare la parte grafica....
--------------------------------------

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Express

blackspidy14 Profilo | Junior Member

scusatemi mi sono espresso male . . . mea culpa

io preferisco non usare system.web.mail per un semplice fatto di praticita, mi spiego meglio . . .

vorrei mantenere traccia delle mail inviate, possibilmente utilizzanto il cliet di posta predefinito.
io al momento con quelle poche righe d codice che ho riportato sopra come esempio, non faccia altro che "far aprire" a .net una nuova finestra di outlook già con mittente, soggetto e testo ben formattato tutto pronto per essere inviato.

il mio problema è rendere tutto più personalizzabile lato "cliente/utilizzatore del software", es il mio cliente usa outlook express o windows live mail.

sono a disposizione per qualsiasi altra delucidazione

StefanoRicci Profilo | Junior Member

di solito gli smtp tengono una copia delle mail inviate, basta che provi a controllare se anche in questo caso fa così... se lo fa, viene riportata in locale nuovamente, senza farsi troppi problemi nel fare chiamate...
altrimenti l'alternativa che hai è semplicemente quella di codificare la mail scritta con i tuoi criteri direttamente in nel formato eml, e girare il file ad outlook o qualsiasi altro client di posta... in quel caso dovresti ritrovarti che avviando l'istanza del software ti ritrovi il tutto come vuoi te pronto per l'invio...
--------------------------------------

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Express

luigidibiasi Profilo | Guru

o controllare se il server è di tipo IMAP
in quel caso ti gestisci direttamente le cartelle sul server
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

blackspidy14 Profilo | Junior Member

>o controllare server è di tipo IMAP
>in quel caso ti gestisci direttamente le cartelle sul server
>Luigi Di Biasi
>
grazie per il consiglio luigi ma visto che dovrei inscatolare questa funzione in un mio software vorrei trovare una soluzione più modellabile secondo le necessità dell'utente finale . . . vedo sempre più vicino l'ipotesi di fare un piccolo client di posta

blackspidy14 Profilo | Junior Member

riprendo questo post per non aprirne di nuovi, che trattano lo stesso argomento. . .

dopo un pò d prove ho utilizzato la classe system.net.mail per inviare email funziona tutto bene anche con gmail che richiede l'autentificazione, però non mantiene la "formattazione del testo", praticamento scrive tutto su una righa senza andare a capo... ho provato a mettere il testo in un file txt leggerlo tramite streamreader, metterlo in una richtextbox ma niente sempre uguale una lunga stringa di testo.... avete qualche idea a proposito?

grazie in anticipo

ps. il testo comprende solo una decina di righe con un piccolo elenco numerato.

StefanoRicci Profilo | Junior Member

io ho semplecemente creato una stringa che conteneva il testo e l'ho accodato per fare prima

string stringa="";
stringa += "\r\nSONO UN TITOLO\r\n";
stringa += "cono una riga e dopo ho un a capo.\r\n";

al massimo lo fai con una String.format....
--------------------------------------

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Express
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5