VBiB/ACCB.net - Visual Basic in België | .net Ineta User Group  
(login to hide)
Hoofdmenu

Advertenties

Het Computer Winkeltje HCW


Evenementen

OUTLOOK EXPRESS VB.NET2003 - Oud Forum inhoud (alleen lezen)
U bevindt zich > Oude forum > Visual Basic .Net > Algemeen (VB.Net) > outlook express vb.net2003
Gepost door Evy007 gepost op 21/02/2006 om 18:52

Hallo,

Ik ben opzoek naar code om outlook express te kunnen starten als ik op mijn knop klik. Ik heb de volgende code gevonden

System.Diagnostics.Process.Start("mailto:?subject=Foto&b ody=&attach=" & Chr(34)) Maar hoe kan ik hier nu een attachment bij invoegen? Ik zou als attachment mijn image uit mijn picturebox willen hebben. Iemand die een idee heeft?

Groetjes

 

Gepost door Don Delegate gepost op 22/02/2006 om 09:50
Stuur de mail zelf i.p.v. het door outlook express te laten doen
Voorbeeld met SmtpClient
Code:

Dim client As New SmtpClient
client.Host = "smpt.mijnISP.com"
client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
Dim from As String = "me@nomail.com"
Dim recipients As String = "you@nomail.com"
Dim subject As String = "Dringend"
Dim body As String = "Body"
Dim message As New MailMessage(from, recipients, subject, body)
message.Attachments.Add(New Attachment("c: est.jpg"))
client.Send(message)


Edit: formateringsprobleempje

Noteer: De System.Net.Mail.SmtpClient klasse is nieuw voor .NET 2.0.
Voor vroegere versies gebruik System.Web.Mail.SmtpMail
Gepost door FonskeSponske gepost op 22/02/2006 om 19:00
Yo VBiB,

Waar blijf je het toch halen? Hoedje af.
Hetgeen jij bent vergeten, moeten wij nog leren.............

Ter info vind je hieronder de SMTP-servers van de voornaamste providers in Belgie:

- Skynet (ADSL): relay.skynet.be
- Telenet: uit.telenet.be
- Tiscali: mail.tiscali.be
- UPC/Chello: relay.chello.be
- Planet Internet: mailhost.pi.be
- Wanadoo: smtp.wanadoo.be
- Online: relay.online.be
- XS4all: smtp.xs4all.be

Greetz,
FonskeSponske.

Gepost door Evy007 gepost op 27/02/2006 om 17:40

Hallo,

Moet ik dan ook een formke aanmaken als ik die code wil gebruiken of maakt dit dit zelf aan? En moet er een reference toegevoegd worden?

Gepost door Don Delegate gepost op 27/02/2006 om 19:27
Evy007 zei:

Moet ik dan ook een formke aanmaken als ik die code wil gebruiken of maakt dit dit zelf aan?

Huh?
Dat is gewoon code, je kan dat aanroepen van waar je wil.

Evy007 zei:

En moet er een reference toegevoegd worden?

Voor System.Net niet (.NET 2.0), voor System.Web.Mail (.NET 1.1) misschien wel (System.Web in System.Web.dll).

Voorbeeldje met VS2003 (imports System.Web.Mail) :
Code:

Private Sub ButtonSend_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
    sendThemail()
End Sub

Private Sub sendThemail()
    Dim message As New MailMessage
    message.To = "you@nomail.com"
    message.From = "me@nomail.com"
    message.Subject = "Dringend"
    message.Body = "Body"
    message.Attachments.Add(
New MailAttachment("c: est.jpg"))
    SmtpMail.SmtpServer = "smtp.yourISP.com"
    SmtpMail.Send(message)
End Sub

Gepost door markali gepost op 03/03/2006 om 18:35
Hallo,

Ik zou in mijn app ook graag deze code gebruiken. Alleen zou ik deze bij gebruikers willen laten werken zonder dat zij hun isp en emailadres moeten opgeven. (het zou moeten dienen om automatisch informatie over fouten naar mij te sturen) Enig idee hoe je dit programmatisch te weten kunt komen?


Don Delegate zei:

Stuur de mail zelf i.p.v. het door outlook express te laten doen
Voorbeeld met SmtpClient
Code:

Dim client As New SmtpClient
client.Host = "smpt.mijnISP.com"
client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
Dim from As String = "me@nomail.com"
Dim recipients As String = "you@nomail.com"
Dim subject As String = "Dringend"
Dim body As String = "Body"
Dim message As New MailMessage(from, recipients, subject, body)
message.Attachments.Add(New Attachment("c: est.jpg"))
client.Send(message)

Gepost door FonskeSponske gepost op 04/03/2006 om 18:24
Yo Markali,

Je zult toch over de naam van de provider moeten beschikken als je dit wilt toepassen.

Wat betreft de naam van 'From', daar kan je een ander adres ingeven, maar het wel een bestaand email-adres zijn, denk ik.
Bij 'Subject' kan je misschien meegeven van wie de mail komt. (bvb. naam persoon, kantoor....)
Weet niet of je de provider en het emailadres SoftWare-matig kan te weten komen.
Wil wel eens nakijken op 't web.

Greetz,
FonskeSponske.

Gepost door markali gepost op 04/03/2006 om 21:07
Ik heb op mijn pc al eens gezocht in de registry of daar ergens mijn relay server adres in opgeslagen is, maar tevergeefs. Ik vind het wel terug in de configfile van Thunderbird, maar daar ben ik natuurlijk niet veel mee, he. Dan moet ik nog altijd te weten komen welk emailprogramma de mensen gebruiken.

Merci alleszins voor de info fonskesponske (mag ik fonske zeggen? )
Gepost door Don Delegate gepost op 04/03/2006 om 21:40

Het probleem is inderdaad dat je de default mail client moet zien te vinden (als er al 1 is), en dan afhankelijk van de mail client de settings moet opzoeken.
Volgende code demonstreert één en ander voor Outlook Express als default mail client:

Code:

Private Sub getMailInfo()
        Text = getDefaultMailClient() + " --- " + getDefaultMailAccount()
        ListBoxAccountInfo.DataSource = getAccountInfo()
    End Sub
 
    Private Function getDefaultMailClient()
        Dim result As String
        Const CKey As String = "SOFTWAREClientsMail"
        Dim mailKey As RegistryKey = Registry.LocalMachine.OpenSubKey(CKey)
        result = mailKey.GetValue(Nothing)
        mailKey.Close()
        If result Is Nothing Then result = ""
        Return result
    End Function
 
    Private Function getDefaultMailAccount() As String
        Dim result As String = ""
        Const CKey = "SoftwareMicrosoftInternet Account Manager"
        Dim defaultKey As RegistryKey = Registry.CurrentUser.OpenSubKey(CKey)
        Dim obj As Object = defaultKey.GetValue("Default Mail Account")
        defaultKey.Close()
        If obj IsNot Nothing Then result = obj.ToString
        Return result
    End Function
 
 
    Private Function getAccountInfo() As List(Of String)
        Dim result As New List(Of String)
        Const CKey = "SoftwareMicrosoftInternet Account ManagerAccounts"
        Dim accountKey As RegistryKey = Registry.CurrentUser.OpenSubKey(CKey)
        Dim a() As String = accountKey.GetSubKeyNames()
        For Each entry As String In a
            result.Add(New String("-"c, 50))
            result.Add(entry)
            result.Add(New String("-"c, 50))
            Dim subKey As RegistryKey = accountKey.OpenSubKey(entry)
            For Each value As String In subKey.GetValueNames()
                result.Add(value + " = " + subKey.GetValue(value).ToString)
            Next
            subKey.Close()
            result.Add(New String("-"c, 50))
        Next
        accountKey.Close()
        Return result
    End Function

 

 

Gepost door markali gepost op 05/03/2006 om 12:24
Hmm, je kunt dus wel te weten komen wat de default client is. Maar ja, dan moet je idd al verschillende mogelijkheden voorzien, en dan is dat nog niet sluitend. Ik denk dat ik het op een andere manier ga oplossen. Met een online logbestand of zoiets...

Merci mensen!
Gepost door FonskeSponske gepost op 05/03/2006 om 13:55
Yo Markali,

Fonske, Sponske of FonskeSponske, het maakt niet uit.

En je progje is dat voor één persoon of meerdere?
Anders kun je toch al enkele gegevens in je progje bakken.
Als je progje natuurlijk op een server staat, lukt het niet.

Greetz,
FonskeSponske.


Start - Zoeken op oude forum

 

 
Postnuke - ADODB Database - PHP 4/5 - pnPhpBB2 - Hosting bij Openminds
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno 21-12-2000)
vbib.be gestart op 1/03/06 (extra vanaf 1/09: vbnet.be en vbdotnet.be)
VBiB is gerelateerd met wintips.be

Nieuwsbrief RSS Feed: backend.php