Gå til innhold

sende data fra vb til e-mail


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Du kan få et eksempel i C#:

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.minmail.no");
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();

mail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
mail.SubjectEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
mail.From = new System.Net.Mail.MailAddress("[email protected]", "Mitt Navn");
mail.To.Add(new System.Net.Mail.MailAddress("[email protected]", "Mottakers Navn"));
mail.Subject = "En liten mail fra meg!";
mail.IsBodyHtml = true;
mail.Body = "Her er en mail<br><br>mvh<br>Meg";

smtp.Send(mail);

Skrevet

Her et eksempel i vb. Merk at jeg henter navnet på smtp Serveren fra brukerens register. Dermed kan programmets exe-kode distribueres til andre uten at man trenger å vite deres aktuelle smtp Server.

 

Dim mail As New MailMessage(), smtpServer As String

smtpServer = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Internet " _

& "Account Manager\Accounts\00000001", "SMTP Server", Nothing)

mail.From = New MailAddress("[email protected]")

mail.To.Add("[email protected]")

mail.Subject = "email"

mail.Body = "Hei på deg!"

Dim smtp As New SmtpClient(smtpServer)

smtp.Send(mail)

Skrevet

Den vil jo kun fungere dersom du bruker Outlook / Outlook Express da...

 

Jeg har ikke en gang nøkkelen 00000001 under Accounts. Absolutt ikke en idiotsikker metode.

 

Hva med å si HVA feilmeldingen sier da?

Skrevet
Hva med å si HVA feilmeldingen sier da?

8905906[/snapback]

Han limte vel C#-koden direkte inn i VB. NET, tenker jeg.

 

Løsningen er å konvertere den til VB .NET, evt. bruke backups løsning.

Skrevet

Nedenfor følger en forbedret versjon på basis av Manfred sitt poeng med at nøkkelen 00000001 ikke gjelder generelt.

 

Dim mail As New MailMessage(), smtpServer As String, x As String, y As String

x = "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager"

y = My.Computer.Registry.GetValue(x, "Default Mail Account", Nothing)

x = "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\" & y

smtpServer = My.Computer.Registry.GetValue(x, "SMTP Server", Nothing)

mail.From = New MailAddress("[email protected]")

mail.To.Add("[email protected]")

mail.Subject = "email"

mail.Body = "Hei på deg!"

Dim smtp As New SmtpClient(smtpServer)

smtp.Send(mail)

 

 

For ordens skyld: har bare testet dette med OE som default mail-program. Om det også funker med OL som default mail-program, det vet jeg ikke, fordi jeg ikke har OL installert.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...