Search the Community
Showing results for tags 'MIME'.
-
I played around a little with http://www.chilkatsoft.com/ ActiveX components. Here is an example based on examples from this page. #include <FileConstants.au3> #include <MsgBoxConstants.au3> ;~ http://www.chilkatsoft.com/downloads_ActiveX.asp ;~ http://www.chilkatsoft.com/support.asp ;~ http://www.chilkatsoft.com/refdoc/activex.asp ;~ http://www.chilkatsoft.com/refdoc/xChilkatCertStoreRef.html ;~ http://www.chilkatsoft.com/refdoc/xChilkatCertChainRef.html ;~ Email ActiveX Reference Documentation ;~ http://www.chilkatsoft.com/refdoc/xChilkatEmailRef.html ;~ http://www.example-code.com/vbscript/emailObj.asp ;~ http://www.example-code.com/vbscript/pop3.asp Global $_sPOP3_Server = 'xxxxxx' Global $_sPOP3_UserName = 'xxxxxx' Global $_sPOP3_Password = 'xxxxxx' _Example_1_Version() _Example_2_Get_number_of_mesages() _Example_3_Retrieve_UIDLs_from_POP3_Server() _Example_4_Save_Email_Attachments_to_Filesystem() Func _Example_1_Version() Local $oCrypt = ObjCreate("Chilkat_9_5_0.Crypt2") MsgBox(0, '', $oCrypt.Version) EndFunc ;==>_Example_1_Version Func _Example_2_Get_number_of_mesages() ; http://www.example-code.com/vbscript/pop3_mailboxCount.asp ; The mailman object is used for receiving (POP3) ; and sending (SMTP) email. ; This ObjCreate statement uses the new single-DLL ActiveX for v9.5.0 Local $oMailman = ObjCreate("Chilkat_9_5_0.MailMan") ; Any string argument automatically begins the 30-day trial. $success = $oMailman.UnlockComponent("30-day trial") If ($success <> 1) Then MsgBox(0, 'UnlockComponent', $oMailman.LastErrorText) Return EndIf ; Set the POP3 server's hostname $oMailman.MailHost = $_sPOP3_Server ; Set the POP3 login/password. $oMailman.PopUsername = $_sPOP3_UserName $oMailman.PopPassword = $_sPOP3_Password ; Get the number of messages in the mailbox. Local $iNumMessages = $oMailman.GetMailboxCount() MsgBox(0, '', $iNumMessages) EndFunc ;==>_Example_2_Get_number_of_mesages Func _Example_3_Retrieve_UIDLs_from_POP3_Server() ; Retrieve UIDL's from POP3 Server ; http://www.example-code.com/vbscript/pop3_getUidls.asp ; The mailman object is used for receiving (POP3) ; and sending (SMTP) email. ; This ObjCreate statement uses the new single-DLL ActiveX for v9.5.0 Local $oMailman = ObjCreate("Chilkat_9_5_0.MailMan") ; Any string argument automatically begins the 30-day trial. $success = $oMailman.UnlockComponent("30-day trial") If ($success <> 1) Then MsgBox(0, 'UnlockComponent', $oMailman.LastErrorText) Return EndIf ; Set the POP3 server's hostname $oMailman.MailHost = $_sPOP3_Server ; Set the POP3 login/password. $oMailman.PopUsername = $_sPOP3_UserName $oMailman.PopPassword = $_sPOP3_Password ; sa is a Chilkat_9_5_0.StringArray Local $oSA = $oMailman.GetUidls() Local $iCount = $oSA.Count For $i = 0 To $iCount - 1 ConsoleWrite($oSA.GetString($i) & @CRLF) Next EndFunc ;==>_Example_3_Retrieve_UIDLs_from_POP3_Server Func _Example_4_Save_Email_Attachments_to_Filesystem() ; Save Email Attachments to Filesystem ; http://www.example-code.com/vbscript/emailObject_saveAttachments.asp Local $oEmail = ObjCreate("Chilkat_9_5_0.Email") ; Load an email object containing attachments. ; This .eml can be downloaded from: ; http://www.example-code.com/testData/HtmlEmail.eml Local $sEML_FileFullPath = FileOpenDialog('Choose EML File', @ScriptDir, 'EML file (*.eml)', $FD_FILEMUSTEXIST) If @error Then ; Display the error message. MsgBox($MB_SYSTEMMODAL, "", "No file(s) were selected.") Return 0 EndIf Local $iSuccess = $oEmail.LoadEml($sEML_FileFullPath) If ($iSuccess <> 1) Then ConsoleWrite($oEmail.LastErrorText & @CRLF) Return 0 EndIf ; If OverwriteExisting is turned on, files with the same ; name are overwritten. If turned off, new/unique filenames ; are automatically generated. The filenames actually saved ; are accessible via the GetAttachmentFilename method. $oEmail.OverwriteExisting = 1 ; Save all attachments to the "myAttachments" subdirectory ; found under the calling process;s current working directory. ; This directory is automatically created if it does not already ; exist. $iSuccess = $oEmail.SaveAllAttachments("myAttachments") If ($iSuccess <> 1) Then ConsoleWrite($oEmail.LastErrorText & @CRLF) Return 0 EndIf ; List the attachment filenames: For $i = 0 To $oEmail.NumAttachments - 1 ConsoleWrite($oEmail.GetAttachmentFilename($i) & @CRLF) Next EndFunc ;==>_Example_4_Save_Email_Attachments_to_Filesystem Best regards mLipok
-
I was looking to find the MIME type of a file using AutoIt and found a function to do it but it only detects the 26 hardcoded, test, MIME types and returns 0 if the file is not one of the few hardcoded MIME's... So I decided to throw a function together... It detects 249 MIME types via the files extention. The thing is it dedects only by the extention; and not by actually checking the file. True MIME Finder: Supports 26 MIME Types ; sample usage $file = "c:\file path\file.txt" $mime_type = __GetMIMEByCode($file) MsgBox(0, "MIME Type:", $mime_type) ; the function Func __GetMIMEByCode($f_file) $f_call = DllCall("urlmon.dll", "long", "FindMimeFromData", _ "ptr", 0, _ "wstr", $f_file, _ "ptr", 0, _ "DWORD", 0, _ "ptr", 0, _ "DWORD", 1, _ "ptr*", 0, _ "DWORD", 0) If @error Then Return 0 $f_mime = DllStructGetData(DllStructCreate("wchar[" & _WinAPI_StringLenW($f_call[7]) & "]", $f_call[7]), 1) Return $f_mime EndFunc Determine MIME By Extension: Supports 249 MIME Types ;sample usage $file = "c:\file path\filename.txt" $mime_type = __GetMIMEByExtention($file) MsgBox(0, "MIME Type:", $mime_type) ; the function Func __GetMIMEByExtention($f_file) Local $f_extension = StringSplit($f_file, ".") Switch '.' & $f_extension[$f_extension[0]] Case '.x3d' Return 'application/vnd.hzn-3d-crossword' Case '.3gp' Return 'video/3gpp' Case '.3g2' Return 'video/3gpp2' Case '.mseq' Return 'application/vnd.mseq' Case '.pwn' Return 'application/vnd.3m.post-it-notes' Case '.plb' Return 'application/vnd.3gpp.pic-bw-large' Case '.psb' Return 'application/vnd.3gpp.pic-bw-small' Case '.pvb' Return 'application/vnd.3gpp.pic-bw-var' Case '.tcap' Return 'application/vnd.3gpp2.tcap' Case '.7z' Return 'application/x-7z-compressed' Case '.abw' Return 'application/x-abiword' Case '.ace' Return 'application/x-ace-compressed' Case '.acc' Return 'application/vnd.americandynamics.acc' Case '.acu' Return 'application/vnd.acucobol' Case '.atc' Return 'application/vnd.acucorp' Case '.adp' Return 'audio/adpcm' Case '.aab' Return 'application/x-authorware-bin' Case '.aam' Return 'application/x-authorware-map' Case '.aas' Return 'application/x-authorware-seg' Case '.air' Return 'application/vnd.adobe.air-application-installer-package+zip' Case '.swf' Return 'application/x-shockwave-flash' Case '.fxp' Return 'application/vnd.adobe.fxp' Case '.pdf' Return 'application/pdf' Case '.ppd' Return 'application/vnd.cups-ppd' Case '.dir' Return 'application/x-director' Case '.xdp' Return 'application/vnd.adobe.xdp+xml' Case '.xfdf' Return 'application/vnd.adobe.xfdf' Case '.aac' Return 'audio/x-aac' Case '.ahead' Return 'application/vnd.ahead.space' Case '.azf' Return 'application/vnd.airzip.filesecure.azf' Case '.azs' Return 'application/vnd.airzip.filesecure.azs' Case '.azw' Return 'application/vnd.amazon.ebook' Case '.ami' Return 'application/vnd.amiga.ami' Case 'N/A' Return 'application/andrew-inset' Case '.apk' Return 'application/vnd.android.package-archive' Case '.cii' Return 'application/vnd.anser-web-certificate-issue-initiation' Case '.fti' Return 'application/vnd.anser-web-funds-transfer-initiation' Case '.atx' Return 'application/vnd.antix.game-component' Case '.mpkg' Return 'application/vnd.apple.installer+xml' Case '.aw' Return 'application/applixware' Case '.les' Return 'application/vnd.hhe.lesson-player' Case '.swi' Return 'application/vnd.aristanetworks.swi' Case '.s' Return 'text/x-asm' Case '.atomcat' Return 'application/atomcat+xml' Case '.atomsvc' Return 'application/atomsvc+xml' Case '.atom, .xml' Return 'application/atom+xml' Case '.ac' Return 'application/pkix-attr-cert' Case '.aif' Return 'audio/x-aiff' Case '.avi' Return 'video/x-msvideo' Case '.aep' Return 'application/vnd.audiograph' Case '.dxf' Return 'image/vnd.dxf' Case '.dwf' Return 'model/vnd.dwf' Case '.par' Return 'text/plain-bas' Case '.bcpio' Return 'application/x-bcpio' Case '.bin' Return 'application/octet-stream' Case '.bmp' Return 'image/bmp' Case '.torrent' Return 'application/x-bittorrent' Case '.cod' Return 'application/vnd.rim.cod' Case '.mpm' Return 'application/vnd.blueice.multipass' Case '.bmi' Return 'application/vnd.bmi' Case '.sh' Return 'application/x-sh' Case '.btif' Return 'image/prs.btif' Case '.rep' Return 'application/vnd.businessobjects' Case '.bz' Return 'application/x-bzip' Case '.bz2' Return 'application/x-bzip2' Case '.csh' Return 'application/x-csh' Case '.c' Return 'text/x-c' Case '.cdxml' Return 'application/vnd.chemdraw+xml' Case '.css' Return 'text/css' Case '.cdx' Return 'chemical/x-cdx' Case '.cml' Return 'chemical/x-cml' Case '.csml' Return 'chemical/x-csml' Case '.cdbcmsg' Return 'application/vnd.contact.cmsg' Case '.cla' Return 'application/vnd.claymore' Case '.c4g' Return 'application/vnd.clonk.c4group' Case '.sub' Return 'image/vnd.dvb.subtitle' Case '.cdmia' Return 'application/cdmi-capability' Case '.cdmic' Return 'application/cdmi-container' Case '.cdmid' Return 'application/cdmi-domain' Case '.cdmio' Return 'application/cdmi-object' Case '.cdmiq' Return 'application/cdmi-queue' Case '.c11amc' Return 'application/vnd.cluetrust.cartomobile-config' Case '.c11amz' Return 'application/vnd.cluetrust.cartomobile-config-pkg' Case '.ras' Return 'image/x-cmu-raster' Case '.dae' Return 'model/vnd.collada+xml' Case '.csv' Return 'text/csv' Case '.cpt' Return 'application/mac-compactpro' Case '.wmlc' Return 'application/vnd.wap.wmlc' Case '.cgm' Return 'image/cgm' Case '.ice' Return 'x-conference/x-cooltalk' Case '.cmx' Return 'image/x-cmx' Case '.xar' Return 'application/vnd.xara' Case '.cmc' Return 'application/vnd.cosmocaller' Case '.cpio' Return 'application/x-cpio' Case '.clkx' Return 'application/vnd.crick.clicker' Case '.clkk' Return 'application/vnd.crick.clicker.keyboard' Case '.clkp' Return 'application/vnd.crick.clicker.palette' Case '.clkt' Return 'application/vnd.crick.clicker.template' Case '.clkw' Return 'application/vnd.crick.clicker.wordbank' Case '.wbs' Return 'application/vnd.criticaltools.wbs+xml' Case '.cryptonote' Return 'application/vnd.rig.cryptonote' Case '.cif' Return 'chemical/x-cif' Case '.cmdf' Return 'chemical/x-cmdf' Case '.cu' Return 'application/cu-seeme' Case '.cww' Return 'application/prs.cww' Case '.curl' Return 'text/vnd.curl' Case '.dcurl' Return 'text/vnd.curl.dcurl' Case '.mcurl' Return 'text/vnd.curl.mcurl' Case '.scurl' Return 'text/vnd.curl.scurl' Case '.car' Return 'application/vnd.curl.car' Case '.pcurl' Return 'application/vnd.curl.pcurl' Case '.cmp' Return 'application/vnd.yellowriver-custom-menu' Case '.dssc' Return 'application/dssc+der' Case '.xdssc' Return 'application/dssc+xml' Case '.deb' Return 'application/x-debian-package' Case '.uva' Return 'audio/vnd.dece.audio' Case '.uvi' Return 'image/vnd.dece.graphic' Case '.uvh' Return 'video/vnd.dece.hd' Case '.uvm' Return 'video/vnd.dece.mobile' Case '.uvu' Return 'video/vnd.uvvu.mp4' Case '.uvp' Return 'video/vnd.dece.pd' Case '.uvs' Return 'video/vnd.dece.sd' Case '.uvv' Return 'video/vnd.dece.video' Case '.dvi' Return 'application/x-dvi' Case '.seed' Return 'application/vnd.fdsn.seed' Case '.dtb' Return 'application/x-dtbook+xml' Case '.res' Return 'application/x-dtbresource+xml' Case '.ait' Return 'application/vnd.dvb.ait' Case '.svc' Return 'application/vnd.dvb.service' Case '.eol' Return 'audio/vnd.digital-winds' Case '.djvu' Return 'image/vnd.djvu' Case '.dtd' Return 'application/xml-dtd' Case '.mlp' Return 'application/vnd.dolby.mlp' Case '.wad' Return 'application/x-doom' Case '.dpg' Return 'application/vnd.dpgraph' Case '.dra' Return 'audio/vnd.dra' Case '.dfac' Return 'application/vnd.dreamfactory' Case '.dts' Return 'audio/vnd.dts' Case '.dtshd' Return 'audio/vnd.dts.hd' Case '.dwg' Return 'image/vnd.dwg' Case '.geo' Return 'application/vnd.dynageo' Case '.es' Return 'application/ecmascript' Case '.mag' Return 'application/vnd.ecowin.chart' Case '.mmr' Return 'image/vnd.fujixerox.edmics-mmr' Case '.rlc' Return 'image/vnd.fujixerox.edmics-rlc' Case '.exi' Return 'application/exi' Case '.mgz' Return 'application/vnd.proteus.magazine' Case '.epub' Return 'application/epub+zip' Case '.eml' Return 'message/rfc822' Case '.nml' Return 'application/vnd.enliven' Case '.xpr' Return 'application/vnd.is-xpr' Case '.xif' Return 'image/vnd.xiff' Case '.xfdl' Return 'application/vnd.xfdl' Case '.emma' Return 'application/emma+xml' Case '.ez2' Return 'application/vnd.ezpix-album' Case '.ez3' Return 'application/vnd.ezpix-package' Case '.fst' Return 'image/vnd.fst' Case '.fvt' Return 'video/vnd.fvt' Case '.fbs' Return 'image/vnd.fastbidsheet' Case '.fe_launch' Return 'application/vnd.denovo.fcselayout-link' Case '.f4v' Return 'video/x-f4v' Case '.flv' Return 'video/x-flv' Case '.fpx' Return 'image/vnd.fpx' Case '.npx' Return 'image/vnd.net-fpx' Case '.flx' Return 'text/vnd.fmi.flexstor' Case '.fli' Return 'video/x-fli' Case '.ftc' Return 'application/vnd.fluxtime.clip' Case '.fdf' Return 'application/vnd.fdf' Case '.f' Return 'text/x-fortran' Case '.mif' Return 'application/vnd.mif' Case '.fm' Return 'application/vnd.framemaker' Case '.fh' Return 'image/x-freehand' Case '.fsc' Return 'application/vnd.fsc.weblaunch' Case '.fnc' Return 'application/vnd.frogans.fnc' Case '.ltf' Return 'application/vnd.frogans.ltf' Case '.ddd' Return 'application/vnd.fujixerox.ddd' Case '.xdw' Return 'application/vnd.fujixerox.docuworks' Case '.xbd' Return 'application/vnd.fujixerox.docuworks.binder' Case '.oas' Return 'application/vnd.fujitsu.oasys' Case '.oa2' Return 'application/vnd.fujitsu.oasys2' Case '.oa3' Return 'application/vnd.fujitsu.oasys3' Case '.fg5' Return 'application/vnd.fujitsu.oasysgp' Case '.bh2' Return 'application/vnd.fujitsu.oasysprs' Case '.spl' Return 'application/x-futuresplash' Case '.fzs' Return 'application/vnd.fuzzysheet' Case '.g3' Return 'image/g3fax' Case '.gmx' Return 'application/vnd.gmx' Case '.gtw' Return 'model/vnd.gtw' Case '.txd' Return 'application/vnd.genomatix.tuxedo' Case '.ggb' Return 'application/vnd.geogebra.file' Case '.ggt' Return 'application/vnd.geogebra.tool' Case '.gdl' Return 'model/vnd.gdl' Case '.gex' Return 'application/vnd.geometry-explorer' Case '.gxt' Return 'application/vnd.geonext' Case '.g2w' Return 'application/vnd.geoplan' Case '.g3w' Return 'application/vnd.geospace' Case '.gsf' Return 'application/x-font-ghostscript' Case '.bdf' Return 'application/x-font-bdf' Case '.gtar' Return 'application/x-gtar' Case '.texinfo' Return 'application/x-texinfo' Case '.gnumeric' Return 'application/x-gnumeric' Case '.kml' Return 'application/vnd.google-earth.kml+xml' Case '.kmz' Return 'application/vnd.google-earth.kmz' Case '.gqf' Return 'application/vnd.grafeq' Case '.gif' Return 'image/gif' Case '.gv' Return 'text/vnd.graphviz' Case '.gac' Return 'application/vnd.groove-account' Case '.ghf' Return 'application/vnd.groove-help' Case '.gim' Return 'application/vnd.groove-identity-message' Case '.grv' Return 'application/vnd.groove-injector' Case '.gtm' Return 'application/vnd.groove-tool-message' Case '.tpl' Return 'application/vnd.groove-tool-template' Case '.vcg' Return 'application/vnd.groove-vcard' Case '.h261' Return 'video/h261' Case '.h263' Return 'video/h263' Case '.h264' Return 'video/h264' Case '.hpid' Return 'application/vnd.hp-hpid' Case '.hps' Return 'application/vnd.hp-hps' Case '.hdf' Return 'application/x-hdf' Case '.rip' Return 'audio/vnd.rip' Case '.hbci' Return 'application/vnd.hbci' Case '.jlt' Return 'application/vnd.hp-jlyt' Case '.pcl' Return 'application/vnd.hp-pcl' Case '.hpgl' Return 'application/vnd.hp-hpgl' Case '.hvs' Return 'application/vnd.yamaha.hv-script' Case '.hvd' Return 'application/vnd.yamaha.hv-dic' Case '.hvp' Return 'application/vnd.yamaha.hv-voice' Case '.sfd-hdstx' Return 'application/vnd.hydrostatix.sof-data' Case '.stk' Return 'application/hyperstudio' Case '.hal' Return 'application/vnd.hal+xml' Case '.html' Return 'text/html' Case '.irm' Return 'application/vnd.ibm.rights-management' Case '.sc' Return 'application/vnd.ibm.secure-container' Case '.ics' Return 'text/calendar' Case '.icc' Return 'application/vnd.iccprofile' Case '.ico' Return 'image/x-icon' Case '.igl' Return 'application/vnd.igloader' Case '.ief' Return 'image/ief' Case '.ivp' Return 'application/vnd.immervision-ivp' Case '.ivu' Return 'application/vnd.immervision-ivu' Case '.rif' Return 'application/reginfo+xml' Case '.3dml' Return 'text/vnd.in3d.3dml' Case '.spot' Return 'text/vnd.in3d.spot' Case '.igs' Return 'model/iges' Case '.i2g' Return 'application/vnd.intergeo' Case '.cdy' Return 'application/vnd.cinderella' Case '.xpw' Return 'application/vnd.intercon.formnet' Case '.fcs' Return 'application/vnd.isac.fcs' Case '.ipfix' Return 'application/ipfix' Case Else Return 0 EndSwitch EndFunc