The eudora-emsapi list archive ending on 27 Nov 1999


Topics covered in this issue include:

  1. Newbie
       Aseem Asthana <asthana at bom4.vsnl.net dot in>
       Tue, 09 Feb 1999 23:04:59 +0500
  2. Re: Newbie
       Jeff Beckley <beckley at qualcomm dot com>
       Tue, 09 Feb 1999 13:20:40 -0800
  3. Re: Newbie
       Randall Gellens <randy at qualcomm dot com>
       Tue, 9 Feb 1999 18:33:03 -0800
  4. Intercepting keystrokes
       Aseem Asthana <asthana at bom4.vsnl.net dot in>
       Wed, 10 Feb 1999 17:50:56 +0500
  5. Plug-In Settings
       "Samuel J. Rauch" <srauch at umich dot edu>
       Wed, 10 Feb 1999 15:00:22 -0500 (EST)
  6. Re: Plug-In Settings
       "Samuel J. Rauch" <srauch at umich dot edu>
       Wed, 10 Feb 1999 15:23:47 -0500 (EST)
  7. Re: Intercepting keystrokes
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 10 Feb 1999 15:07:51 -0800
  8. Re: Intercepting keystrokes
       Aseem Asthana <asthana at bom4.vsnl.net dot in>
       Tue, 16 Feb 1999 11:36:36 +0500
  9. Registering DDE server
       Aseem Asthana <asthana at bom4.vsnl.net dot in>
       Tue, 16 Feb 1999 19:10:24 +0500
 10. Few plugin questions
       Petr Prazak <prazak at grisoft dot cz>
       Fri, 26 Feb 1999 00:25:01 +0100
 11. Re: Few plugin questions
       Jeff Beckley <beckley at qualcomm dot com>
       Thu, 25 Feb 1999 18:05:08 -0800
 12. Re: Few plugin questions
       Petr Prazak <prazak at grisoft dot cz>
       Fri, 26 Feb 1999 04:00:36 +0100
 13. Re: Few plugin questions
       Jeff Beckley <beckley at qualcomm dot com>
       Mon, 01 Mar 1999 17:38:41 -0800
 14. My first steps on Plug-Ins
       Mario Figueiredo <marfig at ebonet dot net>
       Mon, 15 Mar 1999 17:09:50 +0100
 15. Re: My first steps on Plug-Ins
       Jeff Beckley <beckley at qualcomm dot com>
       Tue, 16 Mar 1999 10:13:56 -0800
 16. Mapi vs Automaticon
       Michael Sundermann <michael.sundermann at acm dot org>
       Wed, 17 Mar 1999 18:26:03 +0100
 17. Mapi vs Automaticon
       Michael Sundermann <michael.sundermann at acm dot org>
       Wed, 17 Mar 1999 18:22:05 +0100
 18. Mapi vs Automaticon
       Michael Sundermann <michael.sundermann at acm dot org>
       Wed, 17 Mar 1999 18:26:03 +0100
 19. Automaticon: create a new email
       Michael Sundermann <michael.sundermann at acm dot org>
       Wed, 17 Mar 1999 22:56:11 +0100
 20. Re: Mapi vs Automaticon
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 17 Mar 1999 11:40:33 -0800
 21. Re: Automaticon: create a new email
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 17 Mar 1999 17:25:00 -0800
 22. read a mailbox
       "Brian L. Wolfsohn" <blw at cus dot com>
       Wed, 24 Mar 1999 12:41:26 -0500
 23. Re: read a mailbox
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 24 Mar 1999 11:20:50 -0800
 24. command line interface
       "Brian L. Wolfsohn" <blw at cus dot com>
       Sat, 27 Mar 1999 16:20:02 -0500
 25. sdk and iocns on the toolbar
       Michael Sundermann <michael.sundermann at acm dot org>
       Fri, 16 Apr 1999 09:55:55 +0200
 26. sdk and underline 
       Michael Sundermann <michael.sundermann at acm dot org>
       Fri, 16 Apr 1999 09:50:54 +0200
 27. IN-box _write_ access ?
       Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
       Sat, 24 Apr 1999 22:30:56 -0400
 28. EMSAPI plugins ressource site
       "FEL-X" <fel-x at MailandNews dot com>
       Sun, 25 Apr 1999 12:07:36 +0200
 29. Re: IN-box _write_ access ?
       Jeff Beckley <beckley at qualcomm dot com>
       Tue, 27 Apr 1999 12:30:52 -0700
 30. Converting On Request to On Arrival
       Darren Tuetken <sir_argo at geocities dot com>
       Sun, 09 May 1999 11:45:09 -0700
 31. Re: Converting On Request to On Arrival
       Jeff Beckley <beckley at qualcomm dot com>
       Mon, 10 May 1999 11:14:25 -0700
 32. Problem enabling automation
       Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
       Sat, 15 May 1999 01:02:55 -0400
 33. RE: Problem enabling automation and adding message to the
       Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
       Sun, 16 May 1999 11:10:49 -0400
 34. RE: Problem enabling automation and adding message to the
       Jeff Beckley <beckley at qualcomm dot com>
       Mon, 17 May 1999 11:33:33 -0700
 35. Problem with command line speed
       "Brian L. Wolfsohn" <blw at cus dot com>
       Tue, 18 May 1999 09:32:16 -0400
 36. Re: Problem with command line speed
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 19 May 1999 17:34:17 -0700
 37. Hi all! REQ: Plugin to delete duplicate email
       Gustavo Ruiz <soda at adinet.com dot uy>
       Sat, 29 May 1999 14:52:22 -0300
 38. Automatic scan of incoming emails
       Thorsten Hock <eurocamp at vossnet dot de>
       Wed, 16 Jun 1999 12:27:26 +0200
 39. Re: Automatic scan of incoming emails
       Jeff Beckley <beckley at qualcomm dot com>
       Wed, 16 Jun 1999 10:55:09 -0700
 40. On-Arrival, 'plain text' and the result is an endless loop :(
       Eurocamp <eurocamp at eurocamp dot de>
       Sat, 19 Jun 1999 13:40:49 +0200
 41. Re: On-Arrival, 'plain text' and the result is an endless loop
       Jeff Beckley <beckley at qualcomm dot com>
       Tue, 22 Jun 1999 10:19:23 -0700
 42. Filter and Plug-In ? Subject-Line ?
       Thorsten Hock <eurocamp at vossnet dot de>
       Mon, 21 Jun 1999 10:20:28 +0200
 43. adding message headers
       <richard at charm dot net>
       Thu, 1 Jul 1999 09:53:31 -0400 (EDT)
 44. Re: adding message headers
       Jeff Beckley <beckley at qualcomm dot com>
       Thu, 01 Jul 1999 10:47:22 -0700
 45. SDK
       Robert Meigs <rmeigs at highwinds dot com>
       Thu, 8 Jul 1999 14:16:48 -0400
 46. Problem in Sort Plugins
       sarose at enet.com dot np
       Sat, 11 Sep 1999 06:44:16 +0000
 47. Eudora plugin
       Eduard Meyerzon <eduard at banner-email dot com>
       Tue, 9 Nov 1999 10:37:19 -0500
 48. 
       Dave Bolt <davebolt at compuserve dot com>
       Sat, 13 Nov 1999 00:29:42 +0000
 49. Re: Eudora plugin
       Randall Gellens <randy at pensive dot org>
       Mon, 22 Nov 1999 12:09:51 -0800
 50. On Display
       Joaquin Vidal Balanza <joaquin at aries.dif.um dot es>
       Sun, 28 Nov 1999 00:00:29 +0100

Date: Tue, 09 Feb 1999 23:04:59 +0500
From: Aseem Asthana <asthana at bom4.vsnl.net dot in>
Subject: Newbie

Hello there,

I am a newbie in programming plugins and I would appreciate if anybody
could tell me what book to read for startes. 

Thanks,

Aseem.
-
Aseem. 


Aseem Asthana, 239 A, New Swarg Mandir,
Mhow 453441, MP, India.

Final Yr, Comp Sc. 
Sri Govindram Sekseria Institute of Technology,
23, Park Rd, Indore. MP. India. 


Date: Tue, 09 Feb 1999 13:20:40 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Newbie

At 11:04 PM 2/9/99 +0500, Aseem Asthana wrote:
>I am a newbie in programming plugins and I would appreciate if anybody
>could tell me what book to read for startes.

I'm not aware of any books written on Eudora EMSAPI programming.  We do 
have a web site that gives information and the SDKs for downloading.  You 
can find it at <http://www.eudora.com/developers/emsapi/>.  You can also 
find about other ways to programmatically control Eudora at 
<http://www.eudora.com/developers/>.


Date: Tue, 9 Feb 1999 18:33:03 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: Re: Newbie

At 11:04 PM +0500 2/9/99, Aseem Asthana wrote:

> Hello there,
>
> I am a newbie in programming plugins and I would appreciate if anybody
> could tell me what book to read for startes.
>
> Thanks,
> Aseem.

If you are interested in writing a Eudora EMS-API plug-in, I'd start 
with the PDF manuals available at 
<http://eudora.qualcomm.com/developers/emsapi/>.  There are also SDKs 
there, which include sample plug-ins.
--
Randall Gellens
Opinions are personal;    facts are suspect;    I speak for myself only
-------------- Randomly-selected tag: ---------------
It is only the superficial qualities that last.  Man's deeper 
nature is soon found out.                       --Oscar Wilde

Date: Wed, 10 Feb 1999 17:50:56 +0500
From: Aseem Asthana <asthana at bom4.vsnl.net dot in>
Subject: Intercepting keystrokes

Hi there,

Thanks to all the people who replied to my previous post. There is another
problem that I am facing. I want to intercept keystrokes in another program
and inform Eudora of it. Something like when I click mailto URLs in
netscape Eudora opens a new message. How do I do this - DDE or OLE? And I
want to use Java as the proggy lang.

Any help appreciated.

Thanks,

Aseem.
-
Aseem. 


Aseem Asthana, 239 A, New Swarg Mandir,
Mhow 453441, MP, India.

Final Yr, Comp Sc. 
Sri Govindram Sekseria Institute of Technology,
23, Park Rd, Indore. MP. India. 


Date: Wed, 10 Feb 1999 15:00:22 -0500 (EST)
From: "Samuel J. Rauch" <srauch at umich dot edu>
Subject: Plug-In Settings

Hello-

I just started looking into the possibility of using Eudora plug-ins as a
means of transferring e-mail messages to my PDA (TI's Avigo).

I am planning to use a special menu item plug-in to batch transfer a
Eudora folder to Avigo (and then another to batch transfer out messages
into the Eudora's Out folder).

My problem is that I am having trouble creating the UI (user
interface) devices I need:
-1 dialog box for the plug-in settings
-Possibly another dialog box when the plug-in is called

What I have done:
----------------
 1) downloaded examples, specifically ToolMenu
 2) Opened ToolMenu in VC++ 5.0 (it said it was upgrading from a prev Vc
version when I did this)
 3) Compiled ToolMenu (I had to change mfcs40.lib to mfcs42.lib in the
linker settings to make this work - then it compiled fine and worked with
Eudora - i.e. it added the new menu entries)
 4) Added the plug-in settings entry point function (ems_plugin_config) to
the .def file and the cpp/h files - just left the function empty - returns
EMS_OK.  This compiled and worked fine (When you click on the ToolMenu
plug-in in the Eudora plug-in settings dialogue, the "settings" button is
activated - but obviously does nothing)
 5) Then I tried to add a modal dialog box to be displayed when the pug-in
settings function is called:  I added a new dialog resource to the VC
project, and created a class for it, PrefDialog, which inherits from MFC's
CDialog.  In the settings function - ems_plugin_config - I added these two
lines:
	PrefDialog pd;
	pd.DoModal();

The plug-in compiles fine, but now when I click on Settings for the
ToolMenu plug-in, my dialog box does not come up, but a Eudora ?error? box
comes up.  It has a Yellow triangle with an exclamation point, an OK
button, the string "%s", and an icon of a letter.

Can anyone offer any insight as to why my dialog box is not coming up and
what I need to do to make it work, or does anyone know of some available
VC++5.0 code out there that will bring up a dialog box when the Plug-In
settings are called?  (I am not a VC expert by any stretch of the
imagination, but I can get around and do a few simple things.  If there is
an available project that adds UI devices to the plug-in, I can probably
figure out what I need.)

Thanks for any assistance you might have to offer.

Regards,

Sam

} Samuel J. Rauch                          -|-
}                                    -|-    |        -|-
} srauch at umich dot edu                    |  ,/'^-,_,,    |
} http://www.umich.edu/~srauch/     ,-^\/         ^\,-^\_


Date: Wed, 10 Feb 1999 15:23:47 -0500 (EST)
From: "Samuel J. Rauch" <srauch at umich dot edu>
Subject: Re: Plug-In Settings

Well, I believe I have found a resource to answer my own problem:  I am
developing the plug-in for Eudora for Windows v3.0 - but I just looked at
the EMSAPI for v4.0.  At least one of its examples - PseudoSn - uses a
settings dialog box and I am hopeful that I will be able to glean the
necessary info from that example.

Sam

On Wed, 10 Feb 1999, Samuel J. Rauch wrote:

> Hello-
> 
> I just started looking into the possibility of using Eudora plug-ins as a
> means of transferring e-mail messages to my PDA (TI's Avigo).
> 
> I am planning to use a special menu item plug-in to batch transfer a
> Eudora folder to Avigo (and then another to batch transfer out messages
> into the Eudora's Out folder).
> 
> My problem is that I am having trouble creating the UI (user
> interface) devices I need:
> -1 dialog box for the plug-in settings
> -Possibly another dialog box when the plug-in is called
> 
> What I have done:
> ----------------
>  1) downloaded examples, specifically ToolMenu
>  2) Opened ToolMenu in VC++ 5.0 (it said it was upgrading from a prev Vc
> version when I did this)
>  3) Compiled ToolMenu (I had to change mfcs40.lib to mfcs42.lib in the
> linker settings to make this work - then it compiled fine and worked with
> Eudora - i.e. it added the new menu entries)
>  4) Added the plug-in settings entry point function (ems_plugin_config) to
> the .def file and the cpp/h files - just left the function empty - returns
> EMS_OK.  This compiled and worked fine (When you click on the ToolMenu
> plug-in in the Eudora plug-in settings dialogue, the "settings" button is
> activated - but obviously does nothing)
>  5) Then I tried to add a modal dialog box to be displayed when the pug-in
> settings function is called:  I added a new dialog resource to the VC
> project, and created a class for it, PrefDialog, which inherits from MFC's
> CDialog.  In the settings function - ems_plugin_config - I added these two
> lines:
> 	PrefDialog pd;
> 	pd.DoModal();
> 
> The plug-in compiles fine, but now when I click on Settings for the
> ToolMenu plug-in, my dialog box does not come up, but a Eudora ?error? box
> comes up.  It has a Yellow triangle with an exclamation point, an OK
> button, the string "%s", and an icon of a letter.
> 
> Can anyone offer any insight as to why my dialog box is not coming up and
> what I need to do to make it work, or does anyone know of some available
> VC++5.0 code out there that will bring up a dialog box when the Plug-In
> settings are called?  (I am not a VC expert by any stretch of the
> imagination, but I can get around and do a few simple things.  If there is
> an available project that adds UI devices to the plug-in, I can probably
> figure out what I need.)
> 
> Thanks for any assistance you might have to offer.
> 
> Regards,
> 
> Sam
> 
> } Samuel J. Rauch                          -|-
> }                                    -|-    |        -|-
> } srauch at umich dot edu                    |  ,/'^-,_,,    |
> } http://www.umich.edu/~srauch/     ,-^\/         ^\,-^\_
> 

} Samuel J. Rauch                          -|-
}                                    -|-    |        -|-
} srauch at umich dot edu                    |  ,/'^-,_,,    |
} http://www.umich.edu/~srauch/     ,-^\/         ^\,-^\_


Date: Wed, 10 Feb 1999 15:07:51 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Intercepting keystrokes

At 05:50 PM 2/10/99 +0500, Aseem Asthana wrote:
>Hi there,
>
>Thanks to all the people who replied to my previous post. There is another
>problem that I am facing. I want to intercept keystrokes in another program
>and inform Eudora of it. Something like when I click mailto URLs in
>netscape Eudora opens a new message. How do I do this - DDE or OLE? And I
>want to use Java as the proggy lang.

Eudora uses DDE to grab mailto: clicks in Netscape, but that's only because 
Netscape has a documented DDE interface to do so.  It sounds like you need 
a more generic solution that traps mouse and keyboard events.  Check out 
the SetWindowsHookEx() Win32 API for a generic solution.

The SetWindowsHookEx function installs an application-defined hook 
procedure into a hook chain. You would install a hook procedure to monitor 
the system for certain types of events. These events are associated either 
with a specific thread or with all threads in the system.


Date: Tue, 16 Feb 1999 11:36:36 +0500
From: Aseem Asthana <asthana at bom4.vsnl.net dot in>
Subject: Re: Intercepting keystrokes

Hello,
I must again thank you people for all the help extended to me. ButI have
another problem that I am unable to find information on. I would be really
grateful if you could help me.

Actually I was referred to SetWindowsHookEx(). I wonder if there is a way
to get the mailto URL also that the user clicked. What about http URLs.(The
USER is browsing in NetScape and I want information in Eudora). I think
this is possible because Eudora anyways manages to get the URL of the
mailto from NetScape. Can anybody please explain in detail? I am really
grateful to all you folks out there.

Thanks,

Aseem.


PS I would also like to know if there is any way I could import messages in
eudora from pine. I can save messages from pine as plain test files. May be
there is some plugin.

Thanks.

-
Aseem. 


Aseem Asthana, 239 A, New Swarg Mandir,
Mhow 453441, MP, India.

Final Yr, Comp Sc. 
Sri Govindram Sekseria Institute of Technology,
23, Park Rd, Indore. MP. India. 




Date: Tue, 16 Feb 1999 19:10:24 +0500
From: Aseem Asthana <asthana at bom4.vsnl.net dot in>
Subject: Registering DDE server

Hello there,

I want to know that if eudora is the DDE server and the server is receiving
transactions of  XTYP_REQUEST then when netscape does a WWW_OpenURL(which
has many parameters) will the server receive all the parameters of
WWW_OpenURL. The most important parameter that I want to receive is the
name of the URL to be opened. Further more what is WWW_OpenURL - is it a
DDE call?

I shall be very grateful for any information. Thank you all in advance.

Aseem.



FYI the information that Netscape provides about WWW_OpenURL is as follows - 


WWW_OpenURL: Client form

    Netscape is: Client.

    Transaction Type: XTYP_REQUEST.

    Item (Arguments):

qcsURL,[qcsSaveAs],dwWindowID,dwFlags,[qcsPostFormData],[qcsPostMIMEType],[c
sProgressServer]
        qcsURL is the URL that Netscape is requesting a DDE server to handle. 
        qcsSaveAs is a file that Netscape is requesting the DDE server to
save the URL output
        in. 
        dwWindowID is the Netscape browser window or frame cell requesting
the DDE
        server to load the URL. 
        dwFlags is not currently defined, and is currently always set to
0x0 for future
        compliance. 
        qcsPostFormData is the form data that should be posted with the URL. 
        qcsPostMIMEType is the MIME type of the form data. If not
specified, and
        qcsPostFormData is specified, assume that the MIME type is
        application/x-www-form-urlencoded. 
        csProgressServer is a server which the receiver of this topic
should send progress
        topics. This is currently not specified by Netscape. 

    Data (Returns): dwServicingWindowID 
        dwServicingWindowID is an arbitrary window identifier chosen by the
receiver of this
        topic, indicating a successful load of qcsURL. A value of 0x0
indicates to Netscape
        that the operation failed. A value of 0xFFFFFFFF indicates that
that URL data was
        not accepted by receiver of this topic, equivalent to failure. 

    Description: This topic is generated by Netscape to have the server
registered through
    WWW_RegisterProtocol to handle a URL of the registered protocol. The
server can in turn
    call Netscape with a WWW_OpenURL topic or a WWW_ShowFile topic to load
generated
    output from the server, to be redirected to another URL, or any other
purpose you have in
    mind. 

    An example of this would be a server which has registered itself to
handle the protocol of
    "localexecute." Netscape loads a form with
ACTION="localexecute://somearbitraryinfo".
    When the user submits the form, Netscape has the server handle it
through this topic. The
    server can then allow Netscape to display its generated HTML output or
initiate other
    actions. 
-
Aseem. 


Aseem Asthana, 239 A, New Swarg Mandir,
Mhow 453441, MP, India.

Final Yr, Comp Sc. 
Sri Govindram Sekseria Institute of Technology,
23, Park Rd, Indore. MP. India. 




Date: Fri, 26 Feb 1999 00:25:01 +0100
From: Petr Prazak <prazak at grisoft dot cz>
Subject: Few plugin questions

Hello,

 I'm  writing  an  Eudora  plugin  which scans message attachments for
 viruses.   My   plugin   contains   on-arrival   and  on-transmission
 translators and two special hooks.

 I have few questions on my mind.

 1.  What's  the  point  of EMSF_TOOLBAR_PRESENCE ? It doesn't seem to
 work.

 2. Why is there no support for BinHex and UUE in the EMSAPI?

 3.  How  a  special  hook  can  change its menu icon from the default
 hammer?

 4. I'm testing the plugin with both Eudora Light 3.0.1 and Eudora Pro
 4.2.0.24.  It  seems  that Eudora Light doesn't correctly release the
 memory  allocated  in  the  ems_translate_file  and  passed  back  in
 outFileData->info  field. There is a leak of 28 bytes when I exit the
 Eudora Light. Eudora Pro doesn't have this problem.

 5.  On  return  of ems_transplate_file, transStatus->desc seems to be
 ignored.

 6. What's a difference between EMS-API 4a3 and 4a4 versions? The code
 is  completely the same, so I assume the doc has changed. There is no
 mention in the chapter 9.

 7.  Not  a  question,  but I have just found out that rfc822_skipws()
 function  in  the rfc822.cpp module checks only for space characters.
 EudoraPro use \r\n\t chars as well. The function should be amended to
 use isspace().


 Ok.  Lots of questions. I hope someone at Qualcomm will take a notice
 :-))

Best regards,
  Petr

-------------------------------
Petr Prazak
developer @ GRISOFT(c) SOFTWARE
mailto:prazak at grisoft dot cz
$ whois PP2717
ICQ# 10467674
-------------------------------



Date: Thu, 25 Feb 1999 18:05:08 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Few plugin questions

At 12:25 AM 2/26/99 +0100, Petr Prazak wrote:
>Hello,
>
> I'm  writing  an  Eudora  plugin  which scans message attachments for
> viruses.   My   plugin   contains   on-arrival   and  on-transmission
> translators and two special hooks.
>
> I have few questions on my mind.
>
> 1.  What's  the  point  of EMSF_TOOLBAR_PRESENCE ? It doesn't seem to
> work.

To have your plug-in automatically put on the toolbar.  Note that it only 
works for On-Request, Attacher, and Special Tool translators.  We'll have a 
look at what's going wrong.


> 2. Why is there no support for BinHex and UUE in the EMSAPI?

I guess because we thought that On-Arrival translators would be dealing 
with their own specific data types, and should choose MIME in that case as 
that's the preferred way to encode attachments.  BinHex and uuencode are 
just provided for backwards capability with older mailers.


> 3.  How  a  special  hook  can  change its menu icon from the default
> hammer?

The second parameter to your ems_special_info() function is a pointer to an 
emsMenuS structure.  One of the items to that structure is a pointer to an 
HICON.  Just fill it in when your ems_special_info() function is called.


> 4. I'm testing the plugin with both Eudora Light 3.0.1 and Eudora Pro
> 4.2.0.24.  It  seems  that Eudora Light doesn't correctly release the
> memory  allocated  in  the  ems_translate_file  and  passed  back  in
> outFileData->info  field. There is a leak of 28 bytes when I exit the
> Eudora Light. Eudora Pro doesn't have this problem.

Yes, it's a bug we fixed after the latest release of Light.  We will pick 
it up when we do our next version of Light.


> 5.  On  return  of ems_transplate_file, transStatus->desc seems to be
> ignored.

You are returning EMSR_OK in your translate_file() function?

Also, it only uses it during the On-Display context.


> 6. What's a difference between EMS-API 4a3 and 4a4 versions? The code
> is  completely the same, so I assume the doc has changed. There is no
> mention in the chapter 9.

Good question.  I'm not quite sure what was changed.  I'll have to find out.


> 7.  Not  a  question,  but I have just found out that rfc822_skipws()
> function  in  the rfc822.cpp module checks only for space characters.
> EudoraPro use \r\n\t chars as well. The function should be amended to
> use isspace().

Yeah, I think tab should be added as well.  I'm not sure about CR and LF, 
though, as it might throw off some parsers.


Date: Fri, 26 Feb 1999 04:00:36 +0100
From: Petr Prazak <prazak at grisoft dot cz>
Subject: Re: Few plugin questions

Hello Jeff,

26.2.1999, you wrote on subject `Few plugin questions':

JB> At 12:25 AM 2/26/99 +0100, Petr Prazak wrote:
>> 1.  What's  the  point  of EMSF_TOOLBAR_PRESENCE ? It doesn't seem to
>> work.
JB> To have your plug-in automatically put on the toolbar.  Note that it only
JB> works for On-Request, Attacher, and Special Tool translators.  We'll have a
JB> look at what's going wrong.

 This bears upon the item #3 - I have based my plugin on the EMSAPI
 v.3 and overlooked that the emsMenu structure have changed in the
 version 4. Now it works nicely, thank you.  Wish I have read the
 changes more thoroughly. FAQ candidate :)

>> 2. Why is there no support for BinHex and UUE in the EMSAPI?

JB> I guess because we thought that On-Arrival translators would be dealing
JB> with their own specific data types, and should choose MIME in that case as
JB> that's the preferred way to encode attachments.  BinHex and uuencode are
JB> just provided for backwards capability with older mailers.

So it basically means I have to provide my own decoding of BinHex and
uuencode since Eudora would decode such attachments and it would
bypass my scanner. Any pointer for algorithm, please ?

>> 5.  On  return  of ems_transplate_file, transStatus->desc seems to be
>> ignored.
JB> You are returning EMSR_OK in your translate_file() function?
JB> Also, it only uses it during the On-Display context.
That's the point I use On-Arrival and On-Q4.. contexts only. No big
deal anyway.

>> 7.  Not  a  question,  but I have just found out that rfc822_skipws()
>> function  in  the rfc822.cpp module checks only for space characters.
>> EudoraPro use \r\n\t chars as well. The function should be amended to
>> use isspace().
JB> Yeah, I think tab should be added as well.  I'm not sure about CR and LF,
JB> though, as it might throw off some parsers.

Ok. You are probably right. I have changed it back to check space and
tab only.



Best regards,
  Petr

-------------------------------
Petr Prazak
developer @ GRISOFT(c) SOFTWARE
mailto:prazak at grisoft dot cz
$ whois PP2717
ICQ# 10467674
-------------------------------



Date: Mon, 01 Mar 1999 17:38:41 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Few plugin questions

At 04:00 AM 2/26/99 +0100, Petr Prazak wrote:
>>> 2. Why is there no support for BinHex and UUE in the EMSAPI?
>
>JB> I guess because we thought that On-Arrival translators would be dealing
>JB> with their own specific data types, and should choose MIME in that case as
>JB> that's the preferred way to encode attachments.  BinHex and uuencode are
>JB> just provided for backwards capability with older mailers.
>
>So it basically means I have to provide my own decoding of BinHex and
>uuencode since Eudora would decode such attachments and it would
>bypass my scanner. Any pointer for algorithm, please ?

I'd give you the code from Eudora, but then I'd have to kill you.  ;^>

It's been so long, I don't know where I got the code from anymore.  Sorry I 
can't be more helpful on this one.

Try these:

binhex:
<http://www.natural-innovations.com/boo/binhex.html>

uuencode:
<http://www.serve.com/jb/uu_e.htm>
<http://membrane.com/synapse/library/uuenc.html>
<http://hoth.stsci.edu/man/man1C/uuencode.html>


Date: Mon, 15 Mar 1999 17:09:50 +0100
From: Mario Figueiredo <marfig at ebonet dot net>
Subject: My first steps on Plug-Ins

Hello all,

I'm a complete newbie on this issue and my question is in fact rather simple.

Can I use Visual Basic's ability to create ActiveX DLLs for developing
Eudora Plug-ins using EMS API or do I have to take the learning curve
(huge!) with Visual Studio C++?

TIA,
Marfig

Date: Tue, 16 Mar 1999 10:13:56 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: My first steps on Plug-Ins

At 05:09 PM Monday 3/15/99 +0100, Mario Figueiredo wrote:
>Can I use Visual Basic's ability to create ActiveX DLLs for developing
>Eudora Plug-ins using EMS API or do I have to take the learning curve
>(huge!) with Visual Studio C++?

As long as you can create a DLL that have exported functions that support 
the PASCAL calling convention (also referred to as the WINAPI calling 
convention), then you can write EMSAPI plug-ins in any language.  Of 
course, it's easier in C/C++ because we give sample code and helper 
routines in C/C++, but not impossible to do in another programming language.


Date: Wed, 17 Mar 1999 18:26:03 +0100
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: Mapi vs Automaticon


MAPI:
Assume that no Eudora is running.
Doing something with MAPI, 
MAPI uses the pathname and command line options 
for the last launched instance of Eudora
to start Eudora.


Automation:
Assuming that no Eudora is running.
Doing something with Eudora Automation,
Eudora Automation starts Eudora without
any command line options.

Is there a trick to force Eudora Automation to
start Eudora like it would be started by MAPI ?






Date: Wed, 17 Mar 1999 18:22:05 +0100
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: Mapi vs Automaticon

MAPI:
Assume that no Eudora is running.
Doing something with MAPI, 
MAPI uses the pathname and command line options 
for the last launched instance of Eudora
to start Eudora.


Automation:
Assuming that no Eudora is running.
Doing something with Eudora Automation,
Eudora Automation starts Eudora without
any command line options.

Is there a trick to force Eudora Automation to
start Eudora like it would be started by MAPI ?







Date: Wed, 17 Mar 1999 18:26:03 +0100
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: Mapi vs Automaticon

MAPI:
Assume that no Eudora is running.
Doing something with MAPI, 
MAPI uses the pathname and command line options 
for the last launched instance of Eudora
to start Eudora.


Automation:
Assuming that no Eudora is running.
Doing something with Eudora Automation,
Eudora Automation starts Eudora without
any command line options.

Is there a trick to force Eudora Automation to
start Eudora like it would be started by MAPI ?






Date: Wed, 17 Mar 1999 22:56:11 +0100
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: Automaticon: create a new email

1.
If I understand Eudora Automation right,
it is not possible in this version to create
a message without queueing it.
(function: app.QueueMessages(...)).

If it is possible, please tell me the way to do it.



2.
What I need is a function 
which starts Eudora if not yet started
creates a new message with some fields filled out,
and display this new message.
 
Or in other words:
I need a functions which does the same like
the MAPI functions: MapiSendMail or MailSendDocuments.

Or in other words:
I need a functions which does the same like
drag and drop a file on Eduora.exe.








Date: Wed, 17 Mar 1999 11:40:33 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Mapi vs Automaticon

At 06:26 PM 3/17/99 +0100, Michael Sundermann wrote:
>MAPI:
>Assume that no Eudora is running.
>Doing something with MAPI,
>MAPI uses the pathname and command line options
>for the last launched instance of Eudora
>to start Eudora.
>
>
>Automation:
>Assuming that no Eudora is running.
>Doing something with Eudora Automation,
>Eudora Automation starts Eudora without
>any command line options.
>
>Is there a trick to force Eudora Automation to
>start Eudora like it would be started by MAPI ?

There's no way to tell Eudora to do it.  You could figure it out 
yourself.  We put the command-line of the last run instance of Eudora in 
the registry, the entry 
\\HKEY_CURRENT_USER\Software\Qualcomm\Eudora\CommandLine.

This is what the Eudora MAPI DLLs consult when determining where to start 
up Eudora.  We should probably change automation to use that as well.

Thanks for the heads up!


Date: Wed, 17 Mar 1999 17:25:00 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Automaticon: create a new email

At 10:56 PM 3/17/99 +0100, Michael Sundermann wrote:
>1.
>If I understand Eudora Automation right,
>it is not possible in this version to create
>a message without queueing it.
>(function: app.QueueMessages(...)).
>
>If it is possible, please tell me the way to do it.

Not with automation, but with a command-line .msg file you could.  Check 
out <http://www.eudora.com/developers>.  You can also do most things with a 
mailto: URL, although you can't specify attachments with that.


>2.
>What I need is a function
>which starts Eudora if not yet started
>creates a new message with some fields filled out,
>and display this new message.
>
>Or in other words:
>I need a functions which does the same like
>the MAPI functions: MapiSendMail or MailSendDocuments.
>
>Or in other words:
>I need a functions which does the same like
>drag and drop a file on Eduora.exe.


Date: Wed, 24 Mar 1999 12:41:26 -0500
From: "Brian L. Wolfsohn" <blw at cus dot com>
Subject: read a mailbox

I'd like to be able to do a couple of things using eudora:

1. Add messages to the out box.  It looks like i can do that with the 
command line interface.

2. read messages in a specified mailbox, and change a portion of the 
message, or add a header to indicate that the message has been 
processed.  I haven't seen any messages in the archives or on the developer 
page to indicate if this is possible.  I'd love to find a canned function 
that i can call to process an entire eudora mailbox of messages in sequence.

Can anyone point me in the right direction for #2 above ??



Brian L. Wolfsohn        http://www.cus.com
CUS Business Systems     Ft.Lauderdale,FL
Software for Auctioneers (954) 565-5600     Email:blw at cus dot com

Date: Wed, 24 Mar 1999 11:20:50 -0800
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: read a mailbox

At 12:41 PM 3/24/99 -0500, Brian L. Wolfsohn wrote:
>2. read messages in a specified mailbox, and change a portion of the 
>message, or add a header to indicate that the message has been 
>processed.  I haven't seen any messages in the archives or on the 
>developer page to indicate if this is possible.  I'd love to find a canned 
>function that i can call to process an entire eudora mailbox of messages 
>in sequence.
>
>Can anyone point me in the right direction for #2 above ??

You can kind of do this with Eudora's COM Automation interface.  It will 
allow you to get a message in any of Eudora's mailboxes, and you can set a 
Status property of a message.  Check out 
<http://www.eudora.com/pdf_docs/automation.pdf> for more details.

You can also use Eudora 's EMSAPI to look at all messages as they are 
retrieved, and process them then.  That would be an on-arrival 
translator.  Your "translator" would simply get a look at the contents of 
the messages, do whatever processing it needs, and then return to Eudora 
that no translation was done on the message.  See 
<http://www.eudora.com/developers/emsapi/> for that.


Date: Sat, 27 Mar 1999 16:20:02 -0500
From: "Brian L. Wolfsohn" <blw at cus dot com>
Subject: command line interface

Is it possible to send MORe than 1 message at a time (in one .msg file) 
using the command line interface.

using the command

c:\eudora\eudora.exe c:\temp\my.msg

i've been able to send individual messages, but i'd like to be able to put 
a bunch of messages into an individual file.  when i've tried this, all the 
rest of the messages were in the body of the first message..



Brian L. Wolfsohn        http://www.cus.com
CUS Business Systems     Ft.Lauderdale,FL
Software for Auctioneers (954) 565-5600     Email:blw at cus dot com

Date: Fri, 16 Apr 1999 09:55:55 +0200
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: sdk and iocns on the toolbar


I am using SDK ems4a4.zip with Eudora 4.1:


1.
I have made my own attachment DLL for example myattach.dll
with different Plug-In ID than the sampe attach.dll from the SDK.

Now I copy myattach.dll into eudora\plugins.
Start Eudora 4.1
I can see the icon from myattach.dll
Close Eudoa 4.1

Copying additionally the sample attach.dll into eudora\plugins
I can see the icon from attach.dll
but not the icon from myattach.dll any more..
The icon from attach.dll over takes the location from myattach.dll.

Renaming myattach.dll to aaa.dll.
I can see the icon from aaa.dll,
but not the icon from sample attach.dll any more.


2.
Or a similiar problem:

When I first install my add-on, my icon appears on the Eudora
toolbar when  I run Eudora. I then exit Eudora and uninstall the
add-on. When I restart Eudora, there is a space in the toolbar where my
button used to be. I then exit and reinstall the add-on and start
Eudora. The space is still in the toolbar and my button is not there. From
this point on, the only way I can get my button on the Toolbar is to add
it manually using Eudroa's toolbar editting function. Removing the space
does not make a difference either.


Is there any workaround for this ?
Should I remove something from eudora.ini ?












Date: Fri, 16 Apr 1999 09:50:54 +0200
From: Michael Sundermann <michael.sundermann at acm dot org>
Subject: sdk and underline

I am using SDK ems4a4.zip with Eudora 4.1:

Compiling the sample Attach from the SDK
and adding to the menu entry strings an ampersand
    IDS_SINGLEFILE_STR      "Attach &One file"
    IDS_MULTIFILE_STR       "Attach &Multiple files"
I do not get an underline O or M in the menus.

Doing the same with Eudora 3.0.6 Light I get an underline.

Question: Do you use another character as & ?









Date: Sat, 24 Apr 1999 22:30:56 -0400
From: Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
Subject: IN-box _write_ access ?

Hello,

is there some kind of way I can access the in-box in write mode? (with
automation, COM, DDE, ...)

If this is not possible, is the mailbox(and toc) file format is available
somewhere?

thank you,

PA


From: "FEL-X" <fel-x at MailandNews dot com>
Subject: EMSAPI plugins ressource site
Date: Sun, 25 Apr 1999 12:07:36 +0200

Hello everyone,

As I just discovered this mailing list, I took a look at the archives on =
http://www.pensive.org/mailing_lists/Archives/eudora-emsapi/Current.html
and noticed that some of you have written quite useful plugins...

So I drop this quick note to tell those of you who'd like to share their =
work with other eudora users, that I've got a website called 'Eudora =
Plugins & Add-ins' that is located @ http://eudora.interweb.be and that =
I'll be glad to add any of your creations on it.
Just ask me.

I have an average of 323 hits/hour and 160Mb traffic per month.
This site has been up for the past 2 years and is referenced on quite a =
lot of other sites.
Also on http://www.eudora.com/central

And for those who have soem spare time, ther eis page on my site where =
users have suggested good ideas for new plugins, so maybe some of you =
could have a look at it.

For private contact, please mail me @ mailto:fel-x at interweb dot be .

Best regards


FEL-X                     ICQ 1961051
http://eudora.interweb.be




Date: Tue, 27 Apr 1999 12:30:52 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: IN-box _write_ access ?

At 10:30 PM 4/24/99 -0400, Pierre-Andre Cote wrote:
>is there some kind of way I can access the in-box in write mode? (with
>automation, COM, DDE, ...)

Eudora's COM Automation can do it.  See <http://www.eudora.com/developers/> 
for details.  Also, Simple MAPI can be used to modify messages in the In 
mailbox.


Date: Sun, 09 May 1999 11:45:09 -0700
From: Darren Tuetken <sir_argo at geocities dot com>
Subject: Converting On Request to On Arrival

Hi, I'm new to the list.  I've reviewed the archived messages and haven't
seen anyone address the problem I'm having, so hopefully I'm not repeating
a question that has been asked before.

I'm using Eudora Pro v4.1 and emsv4a4.

I am a moderator of a newsgroup and I receive numerous messages that I have
to manually review for certain rules (crossposting, over-quoting, etc).  I
wrote an On Request translator that works great (I converted the sample
UpprLowr, though it barely has any resemblance now).  Now I want to turn it
into an On Arrival translator and am having problems.

1)  I changed the flag from EMSF_ON_REQUEST to EMSF_ON_ARRIVAL.  No other
flags present.

2)  The pdf documentation says to alter the mime type to avoid an infinite
loop, so at the end of ems_translate_file() I altered the mime setting
command to:
        outFileData->info = make_mime_type("text",
                "x-moderation-text", "1.0");

Problem #1:  I still get an infinite loop.  I've checked the mime type at
the beginning of each loop, and it is always "text" + "plain" regardless of
my attempt to change it at the end of ems_translate_file().

Problem #2:  I can't figure out how to read the body of the message in the
ems_can_translate() function.  Most messages come in as "text" + "plain"
and I only want the on arrival translator to work on the messages that
contain specific moderation text.  In the On Request version, I was able to
read inFileData and parse through the message body.  How can I do this in
ems_can_translate()?

Any help would be greatly appreciated.

Darren Tuetken
 

Date: Mon, 10 May 1999 11:14:25 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Converting On Request to On Arrival

At 11:45 AM 5/9/99 -0700, Darren Tuetken wrote:
>Hi, I'm new to the list.  I've reviewed the archived messages and haven't
>seen anyone address the problem I'm having, so hopefully I'm not repeating
>a question that has been asked before.
>
>I'm using Eudora Pro v4.1 and emsv4a4.
>
>I am a moderator of a newsgroup and I receive numerous messages that I have
>to manually review for certain rules (crossposting, over-quoting, etc).  I
>wrote an On Request translator that works great (I converted the sample
>UpprLowr, though it barely has any resemblance now).  Now I want to turn it
>into an On Arrival translator and am having problems.
>
>1)  I changed the flag from EMSF_ON_REQUEST to EMSF_ON_ARRIVAL.  No other
>flags present.
>
>2)  The pdf documentation says to alter the mime type to avoid an infinite
>loop, so at the end of ems_translate_file() I altered the mime setting
>command to:
>         outFileData->info = make_mime_type("text",
>                 "x-moderation-text", "1.0");

Well, I don't think you want to alter the MIME type, but instead the 
Content-Type: header of the MIME part.  That's what the documentation seems 
to suggest, although the wording appears to be a little confusing.

Here's basically what will happen (and what your translator should do) to 
make this work:

1.  Message comes in from the server.
2.  Eudora calls your ems_can_translate() function.  In that function:
      a.  Look at the MIME type, and if it's text/plain and you haven't seen
           this MIME part before (more on that later), return EMSR_NOW.
      b.  If it's not text/plain or you've already seen this part, return
           EMSR_CANT_TRANS.
3.  If you returned EMSR_NOW in step 2a, Eudora will call your 
ems_translate_file() function.  In that function:
      a.  Look for the data you want in the message.  The inFile parameter
           is a pointer to an emsDataFileS structure.  One of the structure's
           elements is fileName, which is the name of the file on disk that
           contains the MIME part.
      b.  Write the MIME headers of the original part to the filename specified
           in outFile->fileName.  When writing out the Content-Type: header,
           append to the end of it "; x-moderator-processed=yes".  This is the
           parameter you will look for up in step 2a.
      c.  Do whatever you want to do to the body of the MIME part.
           Just copy the body of the MIME part directly from the file
           inFile->fileName to the file outFile->fileName if it's not a message
           for a newsgroup you're a moderator for.  Make the changes in the
           file outFile->fileName if it is a message destined for a newsgroup
           that you're a moderator for.
      d.  Return EMSR_OK


Date: Sat, 15 May 1999 01:02:55 -0400
From: Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
Subject: Problem enabling automation

Hi everyone,

I'm having trouble enabling automation for eudora. I've tried everything I
could think of: starting eudora with /disableautomation then
/enableautomation, enabling automation in the options menu... 
But the only automation that gets registered is the "EuApplication" class.
EuFolder, EuMessage, etc. are not registered.

Any ideas??

Also, is automation work with Eudora light?

Thanks in advance, 

PA\


Date: Sun, 16 May 1999 11:10:49 -0400
From: Pierre-Andre Cote <pierreandre_cote at yahoo dot com>
Subject: RE: Problem enabling automation and adding message to the

>Hi everyone,
>
>I'm having trouble enabling automation for eudora. I've tried everything I
>could think of: starting eudora with /disableautomation then
>/enableautomation, enabling automation in the options menu...
>But the only automation that gets registered is the "EuApplication" class.
>EuFolder, EuMessage, etc. are not registered.
>
>Any ideas??
>
>Also, is automation work with Eudora light?
>

OK, I got it to work, seems like eudora light was conflicting with pro or
something.

But, what I want to do with automation is to add some message to the in-box.
I can't seem to find a method in EuFolder(or EuApplication) to do that. I
would like to do something like that: app.InBox.Messages.Add(to,subject,cc,
...);

[In case you are wondering, I'm trying to make a program which fetch mail
from yahoo.com and add the messages to the eudora in-box...]

Thanks in advance,

PA


Date: Mon, 17 May 1999 11:33:33 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: RE: Problem enabling automation and adding message to the

At 11:10 AM 5/16/99 -0400, Pierre-Andre Cote wrote:
>But, what I want to do with automation is to add some message to the in-box.
>I can't seem to find a method in EuFolder(or EuApplication) to do that. I
>would like to do something like that: app.InBox.Messages.Add(to,subject,cc,
>...);

Eudora's COM automation doesn't support that.  With that interface, you can 
only create new outgoing messages.  You possibly could create a new 
outgoing message, and then transfer (Move) it to the In mailbox, but I 
don't think that would get quite the results you want.

You could do this with Simple MAPI.  In particular, the MAPISaveMail() 
function will create a new message in the In mailbox.


Date: Tue, 18 May 1999 09:32:16 -0400
From: "Brian L. Wolfsohn" <blw at cus dot com>
Subject: Problem with command line speed

Last night i finally got around to fully testing the command line 
implementation of eudora.  I was able to use our software to generate .msg 
files (including attachments), and automatically feed those into the outbox 
of eudora.

The operation was a success, but the patient died anyway...

The speed of putting messages into eudora 1 at a time via the command line 
is awful...  it took an average of 1.5 seconds for each message to go 
in..  While that would be fine if i was sending a single message, i might 
want to be sending 500 or 5000 messages.  I was hoping for average times in 
the .2 or .3 second range.  I realize that there is only so much you can do 
with the command line interface, since you need to call a secondary 
implementation of eudora for each message.

The only way I see around this is if we could have the ability to add 
multiple messages to the outbox via a single command line call, and let 
eudora do the rest..

We are currently using our own in-house smtp/ftp mailer which we ship with 
our software, but i was hoping to be able to require our clients to 
purchase eudora pro (instead of eudora light), and use that instead.

Does anyone have any suggestions ??



Brian L. Wolfsohn        http://www.cus.com
CUS Business Systems     Ft.Lauderdale,FL
Software for Auctioneers (954) 565-5600     Email:blw at cus dot com

Date: Wed, 19 May 1999 17:34:17 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Problem with command line speed

At 09:32 AM 5/18/99 -0400, Brian L. Wolfsohn wrote:
>The speed of putting messages into eudora 1 at a time via the command line 
>is awful...  it took an average of 1.5 seconds for each message to go 
>in..  While that would be fine if i was sending a single message, i might 
>want to be sending 500 or 5000 messages.  I was hoping for average times 
>in the .2 or .3 second range.  I realize that there is only so much you 
>can do with the command line interface, since you need to call a secondary 
>implementation of eudora for each message.
>
>The only way I see around this is if we could have the ability to add 
>multiple messages to the outbox via a single command line call, and let 
>eudora do the rest..
>
>We are currently using our own in-house smtp/ftp mailer which we ship with 
>our software, but i was hoping to be able to require our clients to 
>purchase eudora pro (instead of eudora light), and use that instead.

Try using Simple MAPI or COM Automation.  Performance should be better with 
those.  You can find info on Simple MAPI in the online help that comes with 
your compiler, or check out the MSDN web page which has a search 
capability: <http://msdn.microsoft.com>.  Eudora's COM Automation spec can 
be found here: <http://www.eudora.com/developers/>.


Date: Sat, 29 May 1999 14:52:22 -0300
From: Gustavo Ruiz <soda at adinet.com dot uy>
Subject: Hi all! REQ: Plugin to delete duplicate email

	I'm new to this mailing list but I saw the html version and that topic has 
never been discussed here :)

	Is it possible that any of you, developers, could create a plugin to 
delete duplicated email? This is a simple feature that should be present on 
Windows Eudora but is not :( Some guy told me that this is possible on the 
Mac version using scripts. I saw that there is a plugin for sorting 
messages so for anyone who knows how it can't be an impossible task to do :)

	Maybe is about to sorting the messages by date and then compare the date, 
if they are exact and the sender is the same in both messages (just to be 
sure :) then delete one of them... if not thake the actual date and then 
pass to the next message, it can be done or is it really hard to do?

	I would appreciate any help from you, since I'm not a programmer but I 
want this feature implemented or maybe there is a solution for that, a know 
a few people that have this duped-email drama and will be very happy to 
finally have a solution for that :)

	Thanks in advance! and off course any alternative solution is welcomed... 
anything but sorting and deleting by hand!!! 8)






--
SodA - Gustavo Ruiz
soda at adinet.com dot uy

Date: Wed, 16 Jun 1999 12:27:26 +0200
From: Thorsten Hock <eurocamp at vossnet dot de>
Subject: Automatic scan of incoming emails

Hi ou there :)

I would like to write a plugin for Eudora Pro V3.0 that scans the incoming
emails for keywords and writes the information behind the keywords into a
database. The scan routine is working fine, but I don't know how to start
and what to do to get the plugin running like I want it to be. 

Does anybody has example code or did already something like this ?

Regards,
Thorsten

( eurocamp at vossnet dot de )

Date: Wed, 16 Jun 1999 10:55:09 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: Automatic scan of incoming emails

At 12:27 PM 6/16/99 +0200, Thorsten Hock wrote:
>Hi ou there :)
>
>I would like to write a plugin for Eudora Pro V3.0 that scans the incoming
>emails for keywords and writes the information behind the keywords into a
>database. The scan routine is working fine, but I don't know how to start
>and what to do to get the plugin running like I want it to be.
>
>Does anybody has example code or did already something like this ?

You can do this as an on-arrival translator in our EMSAPI plug-in 
interface.  For more details, and sample code, go to 
<http://www.eudora.com/developers/emsapi/>.


Date: Sat, 19 Jun 1999 13:40:49 +0200
From: Eurocamp <eurocamp at eurocamp dot de>
Subject: On-Arrival, 'plain text' and the result is an endless loop :(

Hi together !

I have a little problem and I hope that there is anybody outside who can
help me with this.

I wrote a plugin with an ON-ARRIVAL filter. I want to scan the incomming
emails for special keywords and then I want to write part of the processed
email into a database. 

But everytime when I set the MimeType to 'text' and the MimeSubtype to
'plain' then the plugin is jumping into an endless loop. The filter
function is called again and again and again ... I'm only able to cancel
the filter and of course that is not what I had in my mind when I started
this project. 

I tried this with the sample project PseudoSq as well and the behaviour is
the same. After setting the MimeType and the MimeSubType to 'text', 'plain'
the plugin is jumping into the same endless loop. What is wrong here ? I
don't know where to look for this mistake.

I really would appreciate any kind of help on this topic.

Regards,
Thorsten Hock

Systemenvironment:
Windows 95
Eudora V3.0
EMS-Version 3.0
EMS-API 3b3
Visual C++ V5.0


Date: Tue, 22 Jun 1999 10:19:23 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: On-Arrival, 'plain text' and the result is an endless loop

At 01:40 PM 6/19/99 +0200, Eurocamp wrote:
>Hi together !
>
>I have a little problem and I hope that there is anybody outside who can
>help me with this.
>
>I wrote a plugin with an ON-ARRIVAL filter. I want to scan the incomming
>emails for special keywords and then I want to write part of the processed
>email into a database.
>
>But everytime when I set the MimeType to 'text' and the MimeSubtype to
>'plain' then the plugin is jumping into an endless loop. The filter
>function is called again and again and again ... I'm only able to cancel
>the filter and of course that is not what I had in my mind when I started
>this project.
>
>I tried this with the sample project PseudoSq as well and the behaviour is
>the same. After setting the MimeType and the MimeSubType to 'text', 'plain'
>the plugin is jumping into the same endless loop. What is wrong here ? I
>don't know where to look for this mistake.

Here's what the EMSAPI Manual has to say about this (in the description of 
the outfile parameter of the ems_translate_file() function):

The translator must always return the correct MIME type of the translation 
output in this parameter even if the translator generates MIME. Thus, if 
the translator is unwrapping a MIME object it must parse the Content-Type: 
header and return its value in out_mime. This also implies that translators 
that generate MIME will return the resulting output MIME type in two 
places, in the actual data and in the out_mime parameter.  Except for 
translations in the on-request context, the input and output MIME types 
must be different in order to avoid an infinite translation loop. This can 
be done by adding a MIME parameter to the MIME type to indicate a 
translation has been performed. A good parameter name is 
x-eudora-translated, and a good value is the name of the translator and the 
context (e.g., spanish-english-on-arrival). Such a parameter will be 
ignored by all other MIME parsing. The translator should check for this 
parameter in its ems_can_translate function.


Date: Mon, 21 Jun 1999 10:20:28 +0200
From: Thorsten Hock <eurocamp at vossnet dot de>
Subject: Filter and Plug-In ? Subject-Line ?

Hi together !

first of all I want to say thank you very much to all the people who gave
me support by spending their time with my problem. Step by step I'm getting
closer to the solution and that is a good feeling. Thank you very much - or
how we say it in my language 'Herzlichen Dank für Eure Hilfe !'.

Like I wrote in the last paragraph I'm getting closer to the solution. But
I still have two little problems. 

The (ON ARRIVAL) plug-in is working fine as long as I don't use the filter
option of Eudora for incoming mails. If I setup a filter to forward
incoming messages, then Eudora doesn't call my filter-function anymore. Any
idea ?

The second problem is the in the ems_translate_file() function I get a
NULL-pointer for the inFileData->header or the inFileData->header->subject
pointer. Do I have to call a special function to fill these pointers with
the right values ? All the incoming emails have a subject line, so where is
this information ?


/*****\
*
* ems_translate_file: Actually perform a translation on a file
*
\*****/

extern "C" long WINAPI ems_translate_file(
    void FAR* globals,           /* Out: Return for allocated instance
structure */
    emsTranslatorP transInfo,    /* In: Translator Info */
    emsDataFileP inFileData,     /* In: What to translate */
    emsProgress progress,        /* Func to report progress/check for abort=
 */
    emsDataFileP outFileData,    /* Out: Result of the translation */
    emsResultStatusP transStatus /* Out: Translations Status information */
)
{
    ...

    if(inFileData->header != NULL && inFileData->header->subject !==
 NULL)
    {
 	//--- This is where I would like to go and what I expected
    }
    else
    {
       //--- This is where I get every time :( 
    }

    ...
}



Regards,
Thorsten Hock


Date: Thu, 1 Jul 1999 09:53:31 -0400 (EDT)
From: <richard at charm dot net>
Subject: adding message headers

I've tried creating a template, then editing it manually
to include extra (legal) message headers, for example:

	Organization: OurClub
	X-Organization: X-OurClub

Eudora doesn't complain, sends the message off, but strips
the extra headers.  Is there a PlugIn I can acquire that will
permit this functionality, or can I alter a .ini file?

Can Eudora be forced to post a message without final-stripping
it?  Obviously these safeguards are engineered in for heightened
security.  (So how do we defeat that :) ...

I run mailing lists and would like to manipulate headers.  Major-
domo looks for one called 'Approved:' plus we would like to insert
copyright info into headers, and subscription and URL addresses.

Lastly, any rumors of porting Eudora to Linux?  Thanx in advanx.

	Richard at ArtMobile dot Net
	Baltimore


Date: Thu, 01 Jul 1999 10:47:22 -0700
From: Jeff Beckley <beckley at qualcomm dot com>
Subject: Re: adding message headers

At 09:53 AM 7/1/99 -0400, richard at charm dot net wrote:
>I've tried creating a template, then editing it manually
>to include extra (legal) message headers, for example:
>
>     Organization: OurClub
>     X-Organization: X-OurClub
>
>Eudora doesn't complain, sends the message off, but strips
>the extra headers.  Is there a PlugIn I can acquire that will
>permit this functionality, or can I alter a .ini file?

There is an INI entry for this called ExtraHeaders.  If you have Eudora 
4.2, you can click on this <x-Eudora-option:ExtraHeaders=Organization: 
OurClub> to change it.  Otherwise, just manually add the entry to the 
[Settings] section of your Eudora.ini file.  Note that this will go out on 
every message that you send.


>I run mailing lists and would like to manipulate headers.  Major-
>domo looks for one called 'Approved:' plus we would like to insert
>copyright info into headers, and subscription and URL addresses.

What you could do is create a personality for doing the approval, and then 
manually add the above setting to the specific personality section in your 
Eudora.ini file.  Then only the messages sent with that personality would 
get that extra header.


Date: Thu, 8 Jul 1999 14:16:48 -0400
From: Robert Meigs <rmeigs at highwinds dot com>
Subject: SDK

I'm new to programming plugins and wondered whether the Mac SDK would 
help.  Unfortunately my version of Stuffit Expander (v.5) will not 
expand the archive.  The icon seems to indicate that it was produced 
by a pre-5 version.  Is there a newer one that I can download?

Thanks,

R. Meigs

Date: Sat, 11 Sep 1999 06:44:16 +0000
From: sarose at enet.com dot np
Subject: Problem in Sort Plugins

When I use sort plugins to sort these number in Eudora version 4.0.2 for WIN32

1
2
0
3
8
10
4
5
6

output  looks like this

0
1
10
2
3
4
5
6
8

Is it right??


Regards,
Sarose
Yes!

From: Eduard Meyerzon <eduard at banner-email dot com>
Subject: Eudora plugin
Date: Tue, 9 Nov 1999 10:37:19 -0500

I need to develop a plugin that is going to modify
HTML body of the message when SEND is clicked.
Also I have to display Options Dialog and use this info
for changes to the message.
I understand that I need to create a Q4 Translator.
Do you know how to get to HTML body?
Do you know where to display my Options Dialog?

Please respond ASAP.

Thank you,
Eduard.


Date: Sat, 13 Nov 1999 00:29:42 +0000
From: Dave Bolt <davebolt at compuserve dot com>
Subject: 

Hopefully this got to the right place.
I have been looking at the examples for plug-ins downloaded from the Eudora
EMS API area, with a view to creating a plug-in of my own to fit a specific
set of requirements.
I have come up with the following questions, which I hope someone can shed
light on.

The Address Book example does not register with Eudora Light, although
other examples do. I want my end app. to work with Eudora Pro, but I
understand that the address book has the same structure. I want to manage
adding addresses from mail to the address book. I cannot actually see any
code in the example to do anything other than attempt to register a DLL,
and the documentation refers to 'magic dialogs' which VC++ does not admit
to having.

I will want to extract information from messages automatically, and add it
to a database. This much does not yet worry me. I expect to want to move
messages from the In Box to other folders. I can not see any way of
accessing this functionallity.

Any hints or tips out there?
Thanks

Dave Bolt
Analyst/Programmer
Delphi & C/C++

Date: Mon, 22 Nov 1999 12:09:51 -0800
From: Randall Gellens <randy at pensive dot org>
Subject: Re: Eudora plugin

At 10:37 AM -0500 11/9/99, Eduard Meyerzon wrote:

>  I need to develop a plugin that is going to modify
>  HTML body of the message when SEND is clicked.
>  Also I have to display Options Dialog and use this info
>  for changes to the message.
>  I understand that I need to create a Q4 Translator.
>  Do you know how to get to HTML body?
>  Do you know where to display my Options Dialog?
>
>  Please respond ASAP.
>
>  Thank you,
>  Eduard.

Set your plug-in to operate on the entire MIME contents of the 
message, and also to have a configuration dialog.    Check the EMSAPI 
document for details on both of these. The HTML body will be in one 
or more text/html body parts.  You need to supply a function which 
Eudora will call when users choose to configure your plug-in.  This 
function displays the options dialog.


--
Randall Gellens
randy at pensive dot org
-------------- Randomly-selected tag: ---------------
We have always been, we are and I hope that we shall always be
detested by France.                       --Duke of Wellington

Date: Sun, 28 Nov 1999 00:00:29 +0100
From: Joaquin Vidal Balanza <joaquin at aries.dif.um dot es>
Subject: On Display

Hello,

I'm using EMS SDK v4 and I want to build a plugin that works ON DISPLAY.
I've tested the example "PseudoSn" and it doesn't seem to work. When I
receive the message an icon is displayed in the message (as a result of
the On Arrival part of the plugin) body but when I
click on it nothing happens. Do you know the reason? Do you know exactly
how it works?

I'm using Eudora Pro v4.0 (evaluation version).

If you have some example that works ON DISPLAY please let me know.
Thanks.