• 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.

verzenden met Gmail

Status
Niet open voor verdere reacties.
Wat bedoel je precies met dat hij stuk loopt op .Send
Krijg je daar een foutmelding?
 
Dat kan als je wachtwoord niet goed is zoals @Excelbat aangaf.
Poort 465 werkt hier trouwens ook prima.
 
Heb je thuis een virusscanner / firewall op je pc? Die zou je heel even kunnen uitzetten en dan je procedure runnen. Het kán zijn dat 1 van deze 2 je poort gesloten houdt en dat je die moet vrijgeven...
 
Helaas ook zonder de virusscanner blijft de macro steken op .send.
De fout die daarbij word aangegeven is:
Fout - 2147220975(80040211) tijdens uitvoering:
Her bericht kan niet worden naar de smtp=server. de foutcode van het transport is 0x80040217.
Reactie van server:not avalible.

wachtwoord is 100% goed. Ik heb Gmail nog maar eens uitgelogd en weer ingelogd met het wachtwoord in de VBA.
 
Oké, dat inderdaad vervelend dat je minder beveiligd bent.
Komt dat omdat de VBA code niet juist is en is dan eventueel aan te passen. Vreemd dat ik er bij andere nooit over gelezen heb dat ze dit moesten aanpassen.
Of kan het komen door de versie van Excel die ik gebruik?
 
Geen van beide. Het komt omdat CDO minder veilig is en dat gebruik je voor het verzenden van email.
Die instelling van Gmail is er later als standaard in gekomen. Je account zal van voor die wijziging zijn en is de update al doorgevoerd. Bij anderen die dat probleem niet hebben is die update dan nog niet actief. Het is wat gecompliceerder maar daar komt het op neer.
 
Laatst bewerkt:
@SNB #16,

Vraagje, misschien simpel voor u, maar ik kom er niet uit. Hoe laad ik de CDO bibliotheek in VBA?

Greetz/Excelbat
 
De simpelste manier: (late binding)


Code:
sub M_snb()
   with CreateObject("CDO.Message")
    .Configuration(cdoSendUsingMethod) = 2
    .Configuration(cdoSMTPServer) = "smtp.gmail.com"
    .Configuration(cdoSMTPServerPort) = 465
    .Configuration(cdoSMTPUseSSL) = True
    .Configuration(cdoSMTPConnectionTimeout) = 60
    .Configuration(cdoSMTPAuthenticate) = 1
    .Configuration(cdoSendUserName) = "gebruiker"
    .Configuration(cdoSendPassword) = "ww"
    .Configuration.Fields.Update
'    .addattachment ThisWorkbook.Path & "\kopie.xls"
    .To = "suggestie@snb-vba.eu"
    .From = "suggestie@snb-vba.eu"
    .Subject = "laatste test 4"
    .TextBody = "inhoud"
    .send
   end with
End sub

of (early binding)

Code:
Sub M_snb()
   ThisWorkbook.VBProject.References.AddFromFile "cdosys.dll"

   with new CDO.Message
    .Configuration(cdoSendUsingMethod) = 2
    .Configuration(cdoSMTPServer) = "smtp.gmail.com"
    .Configuration(cdoSMTPServerPort) = 465
    .Configuration(cdoSMTPUseSSL) = True
    .Configuration(cdoSMTPConnectionTimeout) = 60
    .Configuration(cdoSMTPAuthenticate) = 1
    .Configuration(cdoSendUserName) = "gebruiker"
    .Configuration(cdoSendPassword) = "ww"
    .Configuration.Fields.Update
'    .addattachment ThisWorkbook.Path & "\kopie.xls"
    .To = "suggestie@snb-vba.eu"
    .From = "suggestie@snb-vba.eu"
    .Subject = "laatste test 4"
    .TextBody = "inhoud"
    .send
   end with
End Sub
 
Laatst bewerkt:
Thanks SNB,

Bij late binding kan ik keurig netjes met F8 door de code heen zonder foutmeldingen, maar er wordt niets verstuurd en niets ontvangen.
Bij early binding krijg ik melding 'een door de gebruiker gedefinieerd gegevenstype is niet gedefineerd'. Heb ik geprobeerd met Dim cdo as object, maar dat had niet het gewenste resultaat.

Greetz/Excelbat
 
Heb je bij verwijzingen (references) "Microsoft CDO for Windows 2000 library" aangevinkt?
 
#33 bij early binding nu wel aangevinkt, maar dan krijg ik melding fout 32813 tijdens uitvoering. De opgegeven naam is strijdig met een bestaand project, een bestaande module of een bestaande objectbibliotheek.
(Ik heb een werkend versie om mail te versturen uit dit topic, dus de noodzaak om dit verder af te ronden is niet heel dringend aanwezig, maar ik ben gewoon nieuwsgierig om de beide versies van SNB aan de gang te krijgen).

Greetz/Excelbat
 
#33 heb ik nodig bij 'late binding".

Kijk eens of er iets ontbreekt bij 'References'.

De late binding gebruik ik ook; de tweede heb ik niet getest.
 
ik was in #33 in beide codes de opdracht '.send' vergeten.

Als je bij references Microsoft CDO for windows 2000 hebt aangevinkt is het enige wat je nodig hebt:

Code:
Sub M_snb()
   with new CDO.Message
    .Configuration(cdoSendUsingMethod) = 2
    .Configuration(cdoSMTPServer) = "smtp.gmail.com"
    .Configuration(cdoSMTPServerPort) = 465
    .Configuration(cdoSMTPUseSSL) = True
    .Configuration(cdoSMTPConnectionTimeout) = 60
    .Configuration(cdoSMTPAuthenticate) = 1
    .Configuration(cdoSendUserName) = "gebruiker"
    .Configuration(cdoSendPassword) = "ww"
    .Configuration.Fields.Update
'    .addattachment ThisWorkbook.Path & "\kopie.xls"
    .To = "suggestie@snb-vba.eu"
    .From = "suggestie@snb-vba.eu"
    .Subject = "laatste test 4"
    .TextBody = "inhoud"
    .send
   end with
End Sub

Als de referentie al aktief is, geeft de opdracht
Code:
  ThisWorkbook.VBProject.References.AddFromFile "cdosys.dll"
een foutmelding.
 
Laatst bewerkt:
Thanx HSV voor je antwoord, maar vooral ook SNB. Met #36 heb ik alles werkende gekregen.

Greetz/Excelbat
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan