storme Posted October 15, 2011 Share Posted October 15, 2011 G'day All I'm writting a tray utility to help out my customers. It'll just be a right click menu that runs usefull utilites for them. To keep the menu slim all items will be external in .a3x files. One of the ideas I'm implementing is a "screen capture -> send to tech" menu option. Pretty easy to implement the capture thanks to AutoIT but when it comes to sending the file to me there are too many options and I'd like some advice. In most cases the screen dump won't be needed immeditaly so speed isn't a problem and I'd like to give the option of adding a small text message to the capture so it won't only be the capture that needs to be sent. My immediate thought was Email however I need an SMTP server to send through and they could be connected to any Australian ISP. Maybe I could set up a generic Gmail account to be used to send from but if it's hacked then I'd have to update all the scripts. So it's a possible but I can see a few possible problems. Anyone tried this? What has been your exsperience? Am I worrying over nothing? The other options are FTP to a server - Possible hacker problems. DropBox - Never used it, have no idea how to use it from Autoit ???? - Any other ideas For any of these options I'm going to bring up a small GUI with a textbox for a message (problem description) and a timeout function so the screen shot gets sent even if the user can't click the send button. Thanks for the advice. John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
guinness Posted October 15, 2011 Share Posted October 15, 2011 I haven't used it myself (the API I mean) but Dropbox has an API which you could sign up for and use WinHTTP.au3 (search the forum) to interact with. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
storme Posted October 16, 2011 Author Share Posted October 16, 2011 (edited) I haven't used it myself (the API I mean) but Dropbox has an API which you could sign up for and use WinHTTP.au3 (search the forum) to interact with. Hmm doesn't look too promising just yetA quick note for desktop developers looking into the Dropbox API: we aren't yet officially supporting desktop applicationsBut they do go on to say that they have long term plans. Maybe later. I think for the moment and to get it going I'll go with the GmailorMaybe loop through a list of Australian email servers till I hit the one that works.If it doesn't work then step onto the next item.If I store the last one that worked it'll only need to change if they change ISP. Thanks for your time!John Morrison Edited October 16, 2011 by storme Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
Chimaera Posted October 16, 2011 Share Posted October 16, 2011 (edited) Why not use this from Jos I managed to get a working copy going so if i can do it im sure you can It also covers attachments and gmail so covers most of what you need.maybe hide the details bit for the email in a dll or somewhere where they would never look on the system, possibly in diff places email addy and some bits in system, pass in somewhere else.If they are separate to your main prog you can make an easy updater to replace the files without them knowing when you run it. Chimaera Edited October 16, 2011 by Chimaera If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
JohnOne Posted October 16, 2011 Share Posted October 16, 2011 Initial thoughts are these. Upload screenshot to some public host (imageshack maybe, or as a file to some other host) HTTP POST or even GET to your website php script, with the link to the upload, the message, and any other customer details. Your php script logs the data. That's about it I think, no passwords involved in au3 script. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
storme Posted October 16, 2011 Author Share Posted October 16, 2011 Why not use this from Jos Yep already been there done that Well it wasn't that thread but the saem code. If anyone is interested this works for sending from Gmail #include "SmtpMailer.au3" Local $s_SmtpServer = "smtp.gmail.com" ; smtp??? address for the smtp-server to use - REQUIRED Local $s_FromName = "[email="allhomecomputing@gmail.com"]{Your Name}[/email]" ; ????? name from who the email was sent Local $s_FromAddress = "[email="allhomecomputing@gmail.com"]{Your Address}@gmail.com[/email]" ; ???????address from where the mail should come Local $s_ToAddress = "{Who you want to send it to[email="jmorrison@ahc.net.au"]}[/email]" ; ?????? destination address of the email - REQUIRED Local $s_Subject = "autoittest" ;???? subject from the email - can be anything you want it to be Local $as_Body = "autoittest" ; ????the messagebody from the mail - can be left blank but then you get a blank mail Local $s_AttachFiles = "{Full path of file to sent}" ; ???? the file you want to attach- leave blank if not needed Local $s_CcAddress = "" ; address for cc - leave blank if not needed Local $s_BccAddress = "" ; address for bcc - leave blank if not needed Local $s_Username = "{Your FULL GMAIL email address}" ; ??? username for the account used from where the mail gets sent - REQUIRED Local $s_Password = "{Your Gmail password}" ; ??password for the account used from where the mail gets sent - REQUIRED Local $IPPort = 465 ; yidabu.com??:Gmail??????? Local $ssl = 1 ; REQUIRED for Gmail ;Global $oMyRet[2] ;Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") Local $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console If @error Then MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc) EndIf maybe hide the details bit for the email in a dll or somewhere where they would never look on the system, possibly in diff places email addy and some bits in system, pass in somewhere else. The TO address I'm not worried about at all However, if I'm forced to use Gmail then the password will be in plain sight. I'm hoping that Plan A (Well it is now ) will work Plans A The program has a list of outgoing (SMTP) Australian servers that don't require user credentails. One of them should be compatible with the ISP they are using. Plan B IF it doesn't work then I'll put out an upgrade using a GMAIL account and work out ways of hiding the password as you suggest. Plan C A "write only" FTP server. Though my current server doesn't have a big capacity so I may have to upgrade. Plan D A "Write only" FTP served at home. Problems if I go off the air for any lenght of time. However, it is under my control. Plan E DropBox when the API is done. ??? Thanks for the info John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
storme Posted October 16, 2011 Author Share Posted October 16, 2011 Initial thoughts are these. Upload screenshot to some public host (imageshack maybe, or as a file to some other host) HTTP POST or even GET to your website php script, with the link to the upload, the message, and any other customer details. Your php script logs the data. That's about it I think, no passwords involved in au3 script. Hmmm never used public image hosts so never even gave it a thought.The only negative for that is they are public servers and I have no idea what could be on the screens. My customers maybe unhappy if their bank accoutn details or whatever are put up somewhere they can easily be seen. Unless these servers offer a write only option so it goes in but only I can get it out. Thanks for the info I'll look into it.John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
JohnOne Posted October 16, 2011 Share Posted October 16, 2011 Yes that is a worry if there is sensitive info in a screenshot. You could simply use your own site and database in that case, the only passwords involved would be those of your customers in order to to allow the image and message upload, which of course would not need to be hard coded, but encrypted tested for authenticity in your database. http post [password] [image] [message] if password authenticated, them image and message are uploaded and logged respectively. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
storme Posted October 16, 2011 Author Share Posted October 16, 2011 Yes that is a worry if there is sensitive info in a screenshot. You could simply use your own site and database in that case, the only passwords involved would be those of your customers in order to to allow the image and message upload, which of course would not need to be hard coded, but encrypted tested for authenticity in your database. http post [password] [image] [message] if password authenticated, them image and message are uploaded and logged respectively. My web Site is very basic as it's been around for years, no database. I've been hesitant to centralise everything on here (home) because I'm on ADSL and if it goes down then everthing is off the air. Email to an external server seemed to be a good idea to avoid this. BUT maybe I'll have to bite the bullet and get everything set up here and ignore the MAYBE break downs.... I haven't played with Apache for a long time but that should be good place to start. Should be fun... I've got the script 1/2 written useing EMail so I'll get it done that way then look at makeing the small mode to redirect where to send the reposts to. Thanks for teh advice John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
Juvigy Posted October 17, 2011 Share Posted October 17, 2011 I would go with the ftp. I would also encrypt the files or archive with password. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now