Konu: blat.dll hk.
Öncelikle herkese merhaba;
Yakın bir zamana kadar BLAT.DLL i rahatlıkla kullanıyordum. Bugün farkettim ki; Windows 7 ( 64 bit Türkçe ); BLAT a fena halde bozulmuş.
Dosyayı unregister edip tekrar register ettim ama nafile. Register ettiğim de BLAT.DLL dosyasının boyutu her daim "0" byte olarak güncelleniyor. Dosyayı C:\Windows\SysWOW64 klasörüne kopyaladıktan sonra register ediyorum.
Sorum şu: Sorun BLAT.DLL demi? Windows 'ta mı? Mail yollamak için alternatif bir yol mu denemeliyim? Yoksa BLAT ile yoluma devam etmek için bir yol var mı?
Cevap ve yorumlar için şimdiden teşekkür ediyorum.
Bu arada kullandığım (XP ve Vistada çalışan ) şu şekildeydi :
http://www.sweetpotatosoftware.com/SPSB … 96fb7.aspx
*!* Yahoo ÇALIŞIYOR
*******************************
*!* Example of using SendViaBLAT
*******************************
#DEFINE PRIORITYHIGH 1
#DEFINE PRIORITYLOW 0
DIMENSION aryAttach(2)
aryAttach(1) = "C:\Test1.txt" && change to an actual file that exists on your computer
aryAttach(2) = "C:\Test2.txt" && change to an actual file that exists on your computer
LOCAL lcFrom, lcTo, lcSubject, lcBody, lcCC, lcBCC, lcMailServer, lcUserName, lcPassword, lnPort, lnPriority, llHTMLFormat, lcErrReturn
lcFrom = "ugurlu2001#yahoo;com"
lcTo = "ugurlu2001#hotmail;com"
lcSubject = "Deneme konusu!"
*!* Sending the body in HTML format
llHTMLFormat = .T. && change to .F. to send plain text message
lcBody = "<a href='http://www.fox4um.com'>" + ;
"Deneme icin yollandi!" + ;
"</a>"
lcCC = "ugurlu2001#gmail;com"
lcBCC = "ugurlu2001#yahoo;com"
lcMailServer = "smtp.mail.yahoo.com" && my SMTP Server
lnPort = 25 && or 587 or 995 default SMTP Server port
lcUserName = "ugurlu2001#yahoo;com" && my SMTP username
lcPassword = "xxxxxxxxxxxx/" && my SMTP password
lnPriority = PRIORITYHIGH
SendViaBLAT(@lcErrReturn, lcFrom, lcTo, lcSubject, lcBody, @aryAttach, lcCC, lcBCC, lcMailServer, lnPort, lcUserName, lcPassword, lnPriority, llHTMLFormat)
IF EMPTY(lcErrReturn)
MESSAGEBOX("'" + lcSubject + "' sent successfullly.", 64, "Send email via BLAT")
ELSE
MESSAGEBOX("'" + lcSubject + "' failed to be sent. Reason:" + CHR(13) + lcErrReturn, 64, "Send email via BLAT")
ENDIF
*******************************************
PROCEDURE SendViaBLAT(tcReturn, tcFrom, tcTo, tcSubject, tcBody, taFiles, tcCC, tcBCC, tcMailServer, tnPort, tcUserName, tcPassword, tnPriority, tlHTMLFormat)
*******************************************
LOCAL lcBlatParam, lcBodyFile, lnCountAttachments, lnResult, loError as Exception
lcBodyFile = ""
TRY
*!* Include full path in Declare, such as "C:\Blat240\full\blat.dll"
*!* or make sure that blat.dll is included in the system's PATH variable
DECLARE INTEGER Send IN "O:\F_Kullan\Blat\blat262.full\blat262\full\blat.dll" STRING cParam
lcBodyFile = ADDBS(SYS(2023)) + SYS(2015) + ".txt"
STRTOFILE(tcBody, lcBodyFile, 0) && body is placed in a text file to be sent by BLAT
lcBlatParam = GetShortPath(lcBodyFile)
IF TYPE("tcTo") = "C"
lcBlatParam = lcBlatParam + " -to " + ALLTRIM(tcTo)
ENDIF
IF TYPE("tcFrom") = "C"
lcBlatParam = lcBlatParam + " -f " + ALLTRIM(tcFrom)
ENDIF
IF TYPE("tcCC") = "C"
lcBlatParam = lcBlatParam + " -cc " + ALLTRIM(tcCC)
ENDIF
IF TYPE("tcBCC") = "C"
lcBlatParam = lcBlatParam + " -bcc " + ALLTRIM(tcBCC)
ENDIF
IF TYPE("tcSubject") = "C"
lcBlatParam = lcBlatParam + [ -s "] + ALLTRIM(tcSubject) + ["]
ENDIF
IF TYPE("tcMailserver") = "C"
lcBlatParam = lcBlatParam + " -server " + ALLTRIM(tcMailserver)
ENDIF
IF TYPE("tnPort") = "N"
lcBlatParam = lcBlatParam + ":" + TRANSFORM(tnPort)
ENDIF
IF TYPE("tcUsername") = "C"
lcBlatParam = lcBlatParam + " -u " + ALLTRIM(tcUsername)
ENDIF
IF TYPE("tcPassword") = "C"
lcBlatParam = lcBlatParam + " -pw " + ALLTRIM(tcPassword)
ENDIF
IF TYPE("tnPriority") = "N" AND BETWEEN(tnPriority, 0, 1)
lcBlatParam = lcBlatParam + " -priority " + TRANSFORM(tnPriority)
ENDIF
IF TYPE("tlHTMLFormat") = "L" AND tlHTMLFormat
lcBlatParam = lcBlatParam + " -html"
ENDIF
IF TYPE("taFiles", 1) = "A"
lcBlatParam = lcBlatParam + " -attach "
FOR lnCountAttachments = 1 TO ALEN(taFiles)
lcBlatParam = lcBlatParam + GetShortPath(ALLTRIM(taFiles(lnCountAttachments))) + ","
ENDFOR
lcBlatParam = LEFT(lcBlatParam, LEN(lcBlatParam) - 1) && Remove Extra Comma
ENDIF
lnResult = Send(ALLTRIM(lcBlatParam))
IF lnResult != 0
DO CASE
CASE lnResult = -2
THROW "The server actively denied our connection./The mail server doesn't like the sender name. "
CASE lnResult = -1
THROW "Unable to open SMTP socket" OR ;
"SMTP get line did not return 220" OR ;
"command unable to write to socket" OR ;
"Server does not like To: address" OR ;
"Mail server error accepting message data."
CASE lnResult = 1
THROW "File name (message text) not given" OR ;
"Bad argument given"
CASE lnResult = 2
THROW "File (message text) does not exist"
CASE lnResult = 3
THROW "Error reading the file (message text) or attached file"
CASE lnResult = 4
THROW "File (message text) not of type FILE_TYPE_DISK "
CASE lnResult = 5
THROW "Error Reading File (message text)"
CASE lnResult = 12
THROW "-server or -f options not specified and not found in registry"
CASE lnResult = 13
THROW "Error opening temporary file in temp directory"
OTHERWISE
THROW "Unknown Error"
ENDCASE
ENDIF
CATCH TO loError
tcReturn = [Error: ] + STR(loError.ERRORNO) + CHR(13) + ;
[LineNo: ] + STR(loError.LINENO) + CHR(13) + ;
[Message: ] + loError.MESSAGE + CHR(13) + ;
[Procedure: ] + loError.PROCEDURE + CHR(13) + ;
[Details: ] + loError.DETAILS + CHR(13) + ;
[StackLevel: ] + STR(loError.STACKLEVEL) + CHR(13) + ;
[LineContents: ] + loError.LINECONTENTS
FINALLY
CLEAR DLLS "Send"
IF FILE(lcBodyFile)
ERASE (lcBodyFile)
ENDIF
ENDTRY
ENDPROC
****************************************
Function GetShortPath
****************************************
LPARAMETERS lcFileName
LOCAL lnReturn, lcBuffer
Declare Integer GetShortPathNameA In Win32API As GetShortPathName String, String, Integer
lcBuffer = SPACE(255)
lnReturn= GetShortPathName(lcFileName, @lcBuffer, 255)
Clear Dlls "GetShortPathName"
Return (Left(lcBuffer, lnReturn))
ENDFUNC
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır. Türk Atasözü