E-Mail versenden mit SMTP

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Preakz

Betreff: E-Mail versenden mit SMTP

BeitragMi, März 07, 2012 4:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Liebe Community,
ich hab ein Problem und zwar würde ich gerne eine E-mail versenden, aber jedes mal blockiert der Anbieter das Senden. Woran liegt das .....?
Hier mal der Code den ich aus dem Archiv hier im Forum habe :

BlitzBasic: [AUSKLAPPEN]
Function smtpSendMail(server$, von_adresse$, password$, an_adresse$, subject$, mailtext$)
com2 = OpenTCPStream(server$,port%)
Print ReadLine(com2)
WriteLine com2,"AUTH LOGIN"
Print ReadLine(com2)
WriteLine com2,b64enc(von_adresse)
Print ReadLine(com2)
WriteLine com2,b64enc(password)
Print ReadLine(com2)
WriteLine com2,"MAIL FROM: " + von_adresse$
Print ReadLine(com2)
WriteLine com2,"RCPT TO: "+an_adresse$
Print ReadLine(com2)
WriteLine com2,"DATA"
Print ReadLine(com2)
WriteLine com2, "From: " + von_name$ + " <" + von_adresse$ + ">"
Print ReadLine(com2)
WriteLine com2, "To: " + an_name$ + " <" + an_adresse$ + ">"
Print ReadLine(com2)
WriteLine com2, "Subject: " + subject$
Print ReadLine(com2)
WriteLine com2, "RsFake"
Print ReadLine(com2)
WriteLine com2, ""+mailtext$
Print ReadLine(com2)
WriteLine com2, "."
Print ReadLine(com2)
WriteLine com2, "QUIT"
Print ReadLine(com2)
CloseTCPStream(com2)
End Function






Function b64enc$(a$)
b64$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
m$=""
f$=""
largo=Len(a$)
;Encode a$ into one long string of bits
cx$=""
For encode=1 To largo
x$=Mid$(a$,encode,1) ;get one char at a time
Tx=Asc(x$) ;Tx = ASCII code
b$=Bin$(Tx) ;convert Tx into string of 32 bits
b$=Right$(b$,8) ;get the right most 8 bits out of the 32 bits
cx$=cx$+b$ ;add string of 8 bits to cx$
Next
;largo = number of bits stored in cx$
largo=Len(cx$)
For encode=1 To largo Step 6
x$=Mid$(cx$,encode,6)
bbb=Len(x$)
bbbx=6-bbb ;check for 6 bits
;If not full 6 bits at end of bit string, then add "=" to end of encoded string
If bbbx>0 Then
f$="="
EndIf
x$=x$ + Left$("00000000",bbbx) ;pad with zeroes to make 6 bits
res=0
For y=0 To 5
by = Asc(Mid$(x$, 6-y, 1)) - 48 ;get bits from right to left (least significant to most)
res = res + ( 2^y * by) ;raise to power of 2 and add to res (result)
Next
m$=m$+Mid$(b64$,res+1,1)+f$
Next
Return m$
End Function
 

Preakz

BeitragMi, März 07, 2012 4:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe nun auch schon die Ports von 25 auf 587 hin und her geswitcht tut sich aber nix

ozzi789

BeitragMi, März 07, 2012 9:32
Antworten mit Zitat
Benutzer-Profile anzeigen
"blockiert der Anbieter das Senden"
Kriegst du eine genauere Fehlermeldung?
Würde helfen.

Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Xeres

Moderator

BeitragMi, März 07, 2012 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
@Preakz: Bitte benutze den Edit Button, wenn du etwas hinzu zu fügen hast. Danke.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Preakz

BeitragMi, März 07, 2012 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja der Blockiert das.... aber i.w. macht das jeder ?!
Ich möchte 1ne einzige Email versenden und das geht nicht.

Eingeproggt

BeitragMi, März 07, 2012 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß von meinen Versuchen noch dass die meisten Server heutzutage SSL-verschlüsselte Verbindungen fordern - also mit normelem SMTP kommt man nicht mehr weit. Allerdings war (und ist) mir SSL ne Nummer zu hoch, weshalb ich nicht weiter helfen kann.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

BtbN

BeitragMi, März 07, 2012 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Brauchts nicht immser username und passwort?
Und bist du sicher, dass auth login so einfach geht?
Und unverschlüsselt nen Passwort durch die welt senden würde ich auch nicht.

ozzi789

BeitragMi, März 07, 2012 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Anstatt das Rad neu erfinden würde ich auf bestehendes zurück greifen, zB http://glob.com.au/sendmail/ (habs nicht ausprobiert)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Preakz

BeitragFr, März 09, 2012 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hahah habs mir geholt aber ich checks net Very Happy

ozzi789

BeitragFr, März 09, 2012 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich auch nicht.. aber ein kurzer Blick ins Archiv sagt mir das man sendmail.ini anpassen muss, danach kann man die Exe über die Kommandozeile aufrufen.
Respektive über Execfile und den passenden Parametern Mails versenden.
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group