• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA code; Userform mail middels Gmail

Status
Niet open voor verdere reacties.

patrixweb

Gebruiker
Lid geworden
21 sep 2010
Berichten
105
Goedendag forumleden,

Ik heb een lastige vraag waar ik niet uit kom. Ik zoek een code voor het verzenden van een userform via Gmail. De gebruikers van het bestand loggen in op hun eigen account en zouden dus ook via hun mailadres de userform moeten verzenden.

Is hier een dergelijke code voor??

Allen alvast hartelijk dank!

Gr. Patrick


Bekijk bijlage Voorbeeld01.xlsm
 
Wat moet er wanneer verzonden worden?
 

Bijlagen

  • Userform(cobbe).xlsm
    25,3 KB · Weergaven: 45
Bij deze een voorbeeld:
Bekijk bijlage Kopie van Voorbeeld01 (3).xlsm

De mail code zit in een module. Pas daar de rode gegevens in aan:
Code:
    SMTPsendusing = 2
    SMTPauthenticate = 1
    SMTPserver = "smtp.gmail.com"
    SMTPserverport = 465
    SMTPusessl = True
    SMTPusername = [COLOR="#FF0000"]"patrixweb@gmail.com"[/COLOR]
    SMTPpassword = [COLOR="#FF0000"]"PatrixWebGMAILwachtwoord"[/COLOR]
    SMTPconnectiontimeout = 10

Code:
    With iMsg
        Set .Configuration = iConf
        .To = [COLOR="#FF0000"]"ontvanger1@ziggo.nl;ontvanger2@telfort.nl"[/COLOR]
        .CC = ""
        .BCC = ""
        .From = SMTPusername
        .Subject = "Belangrijk bericht"
        .TextBody = BodyText
        .Send
    End With

Het is mogelijk dat je bij Gmail de Less Secure apps toestemming moet geven:
https://www.google.com/settings/security/lesssecureapps
Log daar in en volg de instructies.

De te mailen tekst wordt daar waar je het in het werkblad schrijft samengesteld waarna de mail routine wordt aangeroepen:
Code:
[COLOR="#008000"]'Te mailen tekst[/COLOR]
MailText = Me.test1.Value & vbNewLine & _
MailText & Me.Txtdatum1.Value & vbNewLine & _
MailText & Me.Txttijdstip.Value & vbNewLine & _
MailText & Me.Txtpersnr.Value & vbNewLine & _
MailText & Me.Txtvoornaam.Value & vbNewLine & _
MailText & Me.Txtachternaam.Value

[COLOR="#008000"]'Verstuur de mail[/COLOR]
If MsgBox("Mail sturen. Akkoord?", vbQuestion + vbOKCancel) = vbOK Then
    Call CDOmail(MailText)
End If
 
Laatst bewerkt:
Bedankt voor de snelle reactie echter geeft hij een foutmelding. Ik heb de SMTPserverport al aangepast van 465 naar 587.

Knipsel.JPG


Knipsel2.JPG
 
De code werkt prima maar alles moet wel goed ingeregeld zijn. Wat hij daar zegt is dat de server smtp.gmail.com niet bereikt kan worden.
Het je die less secure apps geregeld?
Staat Gmail zo ingesteld dat zowel IMAP als POP3 gebruikt mogen worden?
Staan die poorten 465 en 587 open in je firewall?
Worden deze ook door de eventuele firewall van je modem/router doorgelaten?

Iets houd dus het bereiken van die server tegen.
 
Poort 587 hoort by TLS-authentificatie.
CDO ondersteunt geen TLS-authentificatie.
Je kan de nog oudere poort 25 proberen.

edit: poort 465 werkt bij mij.
 
Laatst bewerkt:
Poort 465 is de juiste.
 
Ik zal alles inregelen dat zijn inderdaad dingen die ik niet heb gecontroleerd..

Ik zal laten weten of het gelukt is..

Wederom bedankt!!
 
Beste,

Ik krijg dezelfde foutmelding als patrixweb en krijg een mail van Google waarin dit te lezen staat:
"Bent u degene die probeerde in te loggen?
Google blijft inlogpogingen van de gebruikte app blokkeren, omdat de app bekende beveiligingsproblemen heeft of is verouderd. U kunt deze app blijven gebruiken door toegang te verlenen aan minder veilige apps. Uw account kan dan wel kwetsbaarder zijn."


Heeft dit met deze opmerking van Edmoor te maken : Het je die less secure apps geregeld?
 
Laatst bewerkt:
Mij lijkt het niet dat gebruikers hun privé mailadres met het wachtwoord in enige code willen hebben staan. In het bestandje een stuk minder code en een extra formulier waarbij de gebruiker zich eerst moet aanmelden. Maar dan nog blijf ik het rare gang van zaken vinden. Als het geen privé accounts zijn dan kan je de aanmeldgegevens natuurlijk uit de tab 'personeel' ophalen.
 

Bijlagen

  • Voorbeeld01.xlsb
    36,5 KB · Weergaven: 66
Mij lijkt het niet dat gebruikers hun privé mailadres met het wachtwoord in enige code willen hebben staan.

Dat is ook helemaal niet nodig.
Eén voor dat doel aangemaakt account is voldoende.
De adressen waar je naar toe wilt mailen moeten uiteraard wel bekend zijn.
E.e.a. is afhankelijk van wat precies de bedieling van TS is.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan