<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks Jules, very helpful.  I’ll forward your explanation on to the department that is wanting to automate their process.  They can either rewrite it in powershell
 or other, or maybe use “Windows subsystem for Linux” to build it out in bash.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hope you’re feeling better…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">...Kevin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">--<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Kevin Miller<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Network/email Administrator, CBJ MIS Dept.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">155 South Seward Street<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Juneau, Alaska 99801<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Phone: (907) 586-0242, Fax: (907) 586-4588 Registered Linux User No: 307357<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> ZendTo <zendto-bounces@zend.to>
<b>On Behalf Of </b>Jules via ZendTo<br>
<b>Sent:</b> Sunday, March 15, 2020 6:37 AM<br>
<b>To:</b> ZendTo Users <zendto@zend.to><br>
<b>Cc:</b> Jules <Jules@Zend.To>; Kevin Miller <kevin.miller@juneau.org><br>
<b>Subject:</b> Re: [ZendTo] autodropoff<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" align="center" style="text-align:center"><span style="color:red">EXTERNAL E-MAIL: BE CAUTIOUS WHEN OPENING FILES OR FOLLOWING LINKS</span><o:p></o:p></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" align="center">
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Kevin,<br>
<br>
Firstly, the 'authIMAP' configuration is nothing to do with the 'automation' features at all. It's just an alternative means of authenticating users, like LDAP, AD or local accounts.<br>
So ignore all the IMAP stuff, that's a red herring. I suspect my "upgrade" script accidentally rearranged the comments in your preferences.php at some point, so they appear next to each other.<br>
<br>
In /opt/zendto/bin there are a few "auto..." scripts. These are nothing more than simple bash scripts. Most of the code in them is spent processing and checking the command-line options. That's the boring bit.<br>
<br>
The juicy bit is right near the bottom. All the scripts actually do is collect together all the command-line options and turn them into the parameters needed by "curl" in order to do a single HTTP GET or POST request. That single call to curl does the entire
 login / pass info / upload files operation in 1 hit.<br>
<br>
So you need to create an AD user called "apiuser" or whatever, with a password that is passed along with everything else on the "autodropoff" command-line (for example).<br>
<br>
The point of the scripts such as autodropoff is that you can run them on any Linux/UNIX box, they don't need to be run on the ZendTo server at all; and that they are trivial to re-code into any other language or operating system you want. They are really just
 a reference implementation to show you how to drive ZendTo programmatically. It was easiest for me to write that reference code in bash/curl.<br>
So a Powershell or C#.Net version of those scripts, to be run on a Windows server, should be a quick and easy thing to write. It's just a big HTTPRequest. Along with the other auto... scripts in /opt/zendto/bin.<br>
<br>
Does that help explain it?<br>
<br>
Cheers,<br>
Jules.<o:p></o:p></p>
<div>
<p class="MsoNormal">On 11/03/2020 23:25, Kevin Miller via ZendTo wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre>One of the departments that use Zendto here want to automate drop-offs.  They're windows centric and don't have any accounts on my Zendto server.  They access it via the authLDAPmumble settings with the authenticator set to "AD".  A brief description of what they want to accomplish follows:<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>"Something that would allow us to copy and send from there programmatically...  We have an application we use that has templates that can be used with API's or web services.   We are having to store all the information in a "repository" and it would be easier if we could just click a Send via ZendTo process instead of them pulling the info from the repository and copying it to ZendTo via the web portal.  "<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>I see in conf.php the following automation settings:<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>  // You can list multiple usernames here. So different teams using the<o:p></o:p></pre>
<pre>  // scriptable requests could be done with different "system accounts" to<o:p></o:p></pre>
<pre>  // aid later diagnosis of problems as ZendTo will log the requests<o:p></o:p></pre>
<pre>  // against this username.<o:p></o:p></pre>
<pre>  'automationUsers' => array('apiuser'),<o:p></o:p></pre>
<pre>  'authIMAPServer' => 'mail.soton.ac.uk',<o:p></o:p></pre>
<pre>  'authIMAPDomain' => 'soton.ac.uk',<o:p></o:p></pre>
<pre>  'authIMAPOrganization' => 'University of Southampton',<o:p></o:p></pre>
<pre>  'authIMAPAdmins' => array(),<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Obviously I'll have to change them to match my network.  Internally we have an Exchange server, which can do IMAP.  We have several MailScanner gateways for inbound mail from the internet, and another MailScanner box which our internal printers/scanners send to and which acts as our outbound email server.  It will relay internal traffic to Exchange and accept/relay mail for the internet from Exchange.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>So do I need to create user in AD called (per the example above) "apiuser" which is then authenticated via arguments passed on the CLI to the autodropoff script?  If not in AD, then where?  On the Zendto box as a local account?<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>How would my users run autodropoff?  They don't have local accounts on the Zendto box - what mechanism would they use to call the script and pass parameters?<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Thanks.  I'm sure there are questions I haven't thought to ask yet so please chime in with any pearls of wisdom if you've already been down this road...<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>...Kevin<o:p></o:p></pre>
<pre>--<o:p></o:p></pre>
<pre>Kevin Miller<o:p></o:p></pre>
<pre>Network/email Administrator, CBJ MIS Dept.<o:p></o:p></pre>
<pre>155 South Seward Street<o:p></o:p></pre>
<pre>Juneau, Alaska 99801<o:p></o:p></pre>
<pre>Phone: (907) 586-0242, Fax: (907) 586-4588 Registered Linux User No: 307357<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>ZendTo mailing list<o:p></o:p></pre>
<pre><a href="mailto:ZendTo@zend.to">ZendTo@zend.to</a><o:p></o:p></pre>
<pre><a href="http://jul.es/mailman/listinfo/zendto">http://jul.es/mailman/listinfo/zendto</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>Jules<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>-- <o:p></o:p></pre>
<pre>Julian Field MEng CEng CITP MBCS MIEEE MACM<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>'Solutions nearly always come from the direction you least expect, which<o:p></o:p></pre>
<pre> means there's no point trying to look in that direction because it won't<o:p></o:p></pre>
<pre> be coming from there.' - Douglas Adams<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><a href="http://www.Zend.To">www.Zend.To</a><o:p></o:p></pre>
<pre>Twitter: @JulesFM<o:p></o:p></pre>
</div>
</div>
</body>
</html>