wiki:FAQ/AllInOne

Version 4 (modified by damato, 3 years ago) (diff)

--

Languages:

General Questions

  1. Are there any chances to see YAM being ported to other GUI systems such as Reaction?
  2. Will YAM ever be ported to other non-Amiga platforms like MacOSX, Linux or Windows?
  3. Why does YAM complain about a wrong version of a MUI custom class (e.g. NList.mcc)?
  4. (How) can I access an IMAP mail server from YAM?
  5. Can I use YAM to read newsgroups from the Usenet?
  6. I lost/forgot the passwords of some of my configurated users in YAM. How can I restore them?
  7. I want to migrate to YAM, but I don't want to lose the mails in my current e-Mail application. How?

Are there any chances to see YAM being ported to other GUI systems such as Reaction?

Even if it would be a nice opportunity for YAM to be available for other GUI systems than just MUI, chances are more or less zero to see it ever be ported to something that isn't at least compatible or derived from MUI. Not only would it take a very large amount of time to adapt it to other GUI systems, which in fact would certainly end up in a complete rewrite from scratch, but there doesn't exist any other GUI system on AmigaOS which is as feature rich and flexible as MUI.

Even the advanced Reaction classes supplied with AmigaOS4 won't allow to convert all current functionality in YAM over to a Reaction GUI. And then, YAM uses numerous third-party MUI custom classes such as TextEditor.mcc, NList.mcc and so on which are not or only partly available as e.g. Reaction classes. In addition, MUI is so flexible that you can very easily tune its look&feel to be pretty much the same like the GUI system you normally use. And another point is that all current Amiga platforms come with at least a MUI compatible GUI toolkit (AmigOS3, AmigaOS4, MorphOS, AROS) so that YAM can be very easily maintained as a multi-platform email program by just using MUI.

So we currently don't really see a possibility or reason to port YAM to any other GUI system available to AmigaOS-based computer systems. MUI is still the most advanced, flexible and available GUI toolkit for any Amiga platform.

Will YAM ever be ported to other non-Amiga platforms like MacOSX, Linux or Windows?

The only sensible answer to that question can unfortunately be: No.

There are several reasons that prevent YAM from being easily ported to any non-Amiga like platform such as MacOSX, Linux or Windows:

  • YAM is deeply using the AmigaOS programming interface which is not common or available any other platform which is not derived from AmigaOS.
  • YAM is using Magic User Interface (MUI) as the graphical user interface API and therefore MUI have to be first ported as well to get YAM running at all. And this won't happen as well, too. Especially because MUI is still a closed source project.
  • The great Arexx functionality in YAM isn't portable to any other platform as well as there doesn't exist any real Arexx functionality on other non-Amiga platforms.
  • Last but not least, there is no real 'market' for yet another email client on those more modern and more frequently used systems. Where on AmigaOS there are currently only 2 email clients available, platforms like MacOSX, Linux or Windows have probably a dozen different mail clients whereas the majority is still more advanced than YAM.

So, to sum it up: The only way to get YAM running on a non-Amiga platform is to either use an Amiga emulator suite, e.g. WinUAE or UAE because it isn't possible to port YAM to anything that hasn't AmigaOS as its root.

Why does YAM complain about a wrong version of a MUI custom class (e.g. NList.mcc)?

Either the installer script didn't update the MUI libraries properly, or there is still an old version loaded in the memory or somewhere on your hard disk. Try rebooting your Amiga; if this doesn't help, copy the contents of the MUI directory from the YAM archive to 'MUI:libs/mui'.

Please also make sure you don't have a 'YAM:Libs' or 'YAM:mui/libs' directory in which old MUI classes are stored. The only path were #?.mcc and #?.mcp files belong is 'MUI:libs/mui'.

(How) can I access an IMAP mail server from YAM?

Unfortunately, YAM isn't currently able to access mail servers that do only support IMAP as the mail access protocol. Up to now, YAM only supports the POP3 protocol for downloading/retrieving emails from a mail server. But we have already considered supporting IMAP in a future version of YAM. According to our roadmap we have planned to support IMAP presumably in version 3.0+.

However, for current versions of YAM, there might be chances that the IMAP server you want to get the mail from also supports the POP3 protocol. Either your provider also allows POP3 downloads or the IMAP server software itself is able to manage the POP3 protocol directly. Please consult your provider for more details.

Can I use YAM to read newsgroups from the Usenet?

YAM doesn't support newsgroups (NNTP) and it's not planned to implement this in a later version. If you're looking for a newsreader, have a look at NewsRog or any similar Usenet client.

I lost/forgot the passwords of some of my configurated users in YAM. How can I restore them?

The 3-digit numbers are in fact the password in encrypted form. The "official" way is to log into YAM as a user with manager privileges (usually the first user). This user can change any other user's data. Deleting these 3-digit numbers will effectively clear the password.

This password has nothing to do with the password for your mail accounts. It is just for logging into YAM. Without any password for a single user YAM will start up without any interruption. With multiple users you first have to select the user and then enter the optional password.

I want to migrate to YAM, but I don't want to lose the mails in my current e-Mail application. How?

Well, the answer isn't that straight forward and highly depends on the application you are currently using. However, YAM allows to import mails from various mailbox formats:

  • MBOX - The 'unfortunatly' famous mbox format is the common format, mails were maintained on UNIX operating systems. It was the defacto standard for mail storage until the successor 'maildir' was invented. YAM >= 2.4 should be able to import mbox mail files and allows to extract all mails separatly from them.
  • MAILDIR - maildir files contain a single mail per file whereas YAM >= 2.4 should be able to import those files.
  • OutlookExpress Mailbox Files (*.dbx)

This should sum up for YAM being able to import mail files/data from the following list of e-mail applications (partly depending on the format those clients can export mails):

  • SimpleMail
  • Thunderbird
  • KMail
  • Outlook Express

And any further applications that allows to export mails in the various mailbox formats mentioned above. You just have to first export the mails from your old application (either by an explicit export operation or via direct access to the mailbox files) and then use the 'Import' functionality in YAM.

Languages:

Installing YAM

  1. How do I correctly set up several users in YAM?
  2. How can I setup YAM for different e-mail addresses?
  3. YAM 2.5 requires newlib.library v52.20 or newer but I don't seem to have it. Where do I get that latest version?

How do I correctly set up several users in YAM?

YAM is able to handle multiple users, each of them with their own mail accounts. To accomplish this go to the "Settings" menu and select the "Users..." item.

In the users window you can create new users. Each user must have its own mail directory to avoid conflicts. The best approach is to keep YAM's own data (program, catalogs, etc) apart from user stuff. That means you should have seperate directories for this, e.g. "YAM:" for all YAM related stuff, and "Mail:" for all the mails.

Example: You want to have two users, named "foo" and "bar". Each of these must have its own mail directory. Normally the first user (foo) already exists, because that's the basic user to run YAM. So only "bar" needs to be set up.

Create a new user, fill in the real name and optionally a password. The mail directory should be set to "Mail:bar". All the personal stuff of user "bar" will go there: mails, personal address book, spam filter training data, etc. The other settings can be configured as you like. Close the window and restart YAM - it will now prompt you for which user you want to run YAM. All the personal stuff of user "bar" will now end up in "Mail:bar". More users are created in the very same way.

PLEASE NOTE: There also seems to be a lot of confusion about the MAILDIR tooltype. This one can be used very efficiently with more than one user. Just create as many project icons as necessary and set the default tool to "YAM:YAM" (or whatever YAM's executable is named). Additionally set the tooltypes USER and MAILDIR to the corresponding user name and mail directory. According to the example above you would have two project icons. The first one (named "YAM foo" for example) would have these tooltypes:

  USER=foo
  MAILDIR=Mail:foo

The second one would look like this:

  USER=bar
  MAILDIR=Mail:bar

And one more example:

  USER=John Doe
  PASSWORD=johnspassword
  MAILDIR=Mail:johnsmaildir

Please remember to specifiy the complete user name for the USER tooltype.

Clicking on the icons will start YAM without further login questions for the desired used.

How can I setup YAM for different e-mail addresses?

If you get mail from multiple e-mail accounts, but use only one of them to send mail, then setup your e-mail accounts in the TCP/IP - POP3 section of the configuration. YAM can check up to 16 accounts (in YAM 2.6+ even unlimited) automatically. If more than one person is using YAM for his/her email, or if you need to send messages from different e-mail addresses, then go to 'Settings/Users' main menu entry and add a user account for each of them. If only a single person is using YAM but has multiple email adresses you can use the new multi-identity feature available in YAM 2.8+.

YAM 2.5 requires newlib.library v52.20 or newer but I don't seem to have it. Where do I get that latest version?

Since version 2.5, a PowerPC (PPC) native version of YAM for AmigaOS4 is supplied. The binary however does require the user to have the July Update of AmigaOS4 Final to be installed. This update can be normally obtained via the website of Hyperion Entertainment (http://www.hyperion-entertainment.biz/).

So in case YAM pops up a requester reminding you that it requires a newer newlib.library version, please make sure that you really have the very latest AmigaOS4 update properly installed for your hardware platform. And please note that newlib.library is an integral part of AmigaOS4 and not available seperately or for other platforms.

Languages:

Using YAM

  1. User Interface
    1. Why does the "Colored text" gadget in the Read configuration looks wrong the first time I open this sheet?
    2. Menu shortcuts don't work while context sensitive menus are enabled, why?
    3. The gauge in the mail transfer window looks wrong, why?
    4. Why is keyboard selection of multiple mails not working?
    5. I use AmigaOS 3.9 and activated the AISS theme. Unfortunately some of the icons display an ugly black background. Why?
    6. The graphical attachment list is displayed truncated and does not reflect all available attachments. Anything to prevent that?
    7. Why is the mail preselection/transfer window sometimes active by default and sometimes not?
    8. The menu of the write window contains strange "ramiga X", "ramiga C" shortcut definitions. Why is the typical Amiga image not used instead?
    9. I changed the shortcut definition of TextEditor.mcc to use a non-default shortcut for the Cut&Paste operations. However, YAM still shows e.g. "Amiga+C" in the window.
    10. The attachment icon sometimes suddenly disappears in main mail listview, why?
    11. When I use the up/down arrows keys, the scrollbar of the main mail list moves instead of the highlighted mail to be changed. Why?
    12. Redrawing of the folder listtree is so slow that I can see every single folder getting redrawn separately. Why?
    13. Can I permanently save the position and size of a window?
    14. Why are some columns of the mail listview always resizing automatically?
    15. The toolbar buttons and other graphics are displayed in wrong colors. Why?
    16. The toolbar buttons don't fit in the window, the rightmost buttons can't be accessed. How can I fix this?
    17. The layout of the prefs window doesn't adapt properly when reducing its size, any solution available to it?
    18. Printing doesn't seem to work. What's wrong?
    19. Printing seems to work, but I always get a warning requester right before the document is printed?!?
    20. Why is YAM taking braces as in "http://www.example.com" as part of URLs?
    21. Why does YAM crash or hang when I enter the 'Mixed/Misc' section in the configuration window or while starting up?
    22. Why there are Enforcer hits when flushing memory after uniconifying YAM and its MUI prefs?
    23. I cannot change the sender address (From) in the write window since YAM 2.8. Why?
  2. Language Support
    1. There seems to be no translation available for my language?
  3. Reading Mails
    1. Why are some mails displayed without any text content which got displayed properly some weeks ago?
    2. When displaying an email with embedded soft-styles such as bold/italic, etc. the mail will be displayed with the style markers '*' as well, why?
    3. Doubleclicking an URL doesn't seem to popup my favourite webbrowser?
    4. YAM shows the default icon for attachments rather than the one I configured in DefIcons. Why?
    5. Why do certain mails I receive show up with lines quoted like ">From " even if the author of that mail hasn't written that From line quoted?
  4. Replying/Forwarding Mails
    1. I can't put my initials into or change the quoting string used on reply! Why?
    2. When replying to a mail, a wrong To: address is put in the write window, why?
    3. What's the purpose of the 'Bounce' option in YAM and can I use it to e.g. bounce SPAM mail back?
    4. Why are are mails duplicated in the Outgoing folder when editing them again later?
  5. Composing Mails
    1. Is it possible to send an email to a group of recipients in one go?
    2. When writing an email I get an error message like "+++ Host environment not found"?
    3. Why isn't YAM able to mark whole sentences as bold/italic/underline and just highlights single words? Wasn't that possible already?
    4. Why is the TAB key not advancing to the internal text editor gadget when I finished writing the subject line of a mail?
    5. Why doesn't YAM let me choose an address from the popup list when writing a mail?
    6. My system hangs when deleting a block of text in the editor while using a key qualifier, why?
  6. Filtering Mails
    1. If I search for "[SPAM]" in a filter, mails not containing this string will get hit by the filter as well, why?
    2. How to train YAM's SPAM filter properly?
  7. Network Setup
    1. How to properly set up SMTP-AUTH authentication?
    2. When sending mail via smtp.gmail.com, YAM returns an error upon terminating the connection. However, the mail will be correctly send to its recipient.
    3. When I use Genesis, Yam always uses the Genesis user to choose the account. How can I change that?
    4. I am not able to abort a POP3 transfer and the whole application seems to hang, why?
    5. I have automatic mail download/send on startup enabled, but YAM 2.6 doesn't perform the mail exchange. Why?

User Interface

Why does the "Colored text" gadget in the Read configuration looks wrong the first time I open this sheet?

This is a bug in MUI 3.8 and can't unfortunately be worked around in any form. However, it is already fixed in MUI versions >= 3.9. So please update your MUI installation, if possible.

Unfortunatly, the context menus for the folder & message lists may get in your way and prevent you from using the usual menu item shortcuts unless you move the pointer outside the list. Unfortunately this is a bug in MUI <=3.8, which can only worked around by disabling the context menus themselves or upgrading MUI to at least 3.9.

The gauge in the mail transfer window looks wrong, why?

Due to a bug in MUI 3.8, the gauge in the mail transfer window may "overflow" its container when representing very high values, typically around 8 MB and beyond. This bug is harmless, but an updated MUI (3.9 or better) is necessary to properly address this problem. No such update are available for m68k Amigas at the time of writing this article.

Why is keyboard selection of multiple mails not working?

According to the documentation and the configuration GUI of the NList.mcc class (which is used in YAM for displaying the mail list) one should be able to select multiple entries in a Listview by using the CTRL+Up/Down keys. However, when I use these keys the listview scrolls to the beginning or end rather than allowing to select multiple entries. The reason for this problem is, that the default keybindings of NList.mcc and the default keybindings of MUI itself clash. So when you use CTRL+Up/Down the default MUI keybindings will have preference over the NList settings and thus won't trigger the correct functions in NList itself. The solution is to either upgrade to NList release 0.108 or later as the default keybinding have been changed to use ALT+Up/Down rather than CTRL. Just make sure that you reset the keybinding settings in the MUI configuration pane of the NList classes after you have installed 0.108+ of the NList classes. Another solution (for older NList versions) would be to manually change the keybinding settings in the MUI configuration to use the ALT key rather than CTRL key (see all the "Select XXX" entries in the example screenshot below).

Example of NList keyboard config

I use AmigaOS 3.9 and activated the AISS theme. Unfortunately some of the icons display an ugly black background. Why?

The AISS icons are PNG icons which use alpha channels. With AmigaOS 3.9 the transparency can not be displayed correctly because of some incompatibilities between the datatypes.library.

The graphical attachment list is displayed truncated and does not reflect all available attachments. Anything to prevent that?

For mails with lots of single attachments, the graphical display of attachments in a read window might be displayed truncated. This happens in case the attachment list object cannot enlarge itself to the required size (e.g. because the window is to small). Unfortunately it is even not possible to display/use a scrollbar for those cases due to technical reasons.

But as the attachment list is virtual group object you should be able to use the virtual scrolling capabilities of MUI for that case. Please consult the MUI configuration for setting the scroll action hotkey/mouse button. But per default, MUI should allow you to hold down the middle mouse button while moving your mouse. This should then allow you to scroll the attachment list and view the other attachments that are normally hided. Another way for displaying all attachments of a mail is, of course to use the respective toolbar buttons (Display, Print, etc.) which will present you a full list of the attachments.

Why is the mail preselection/transfer window sometimes active by default and sometimes not?

YAM can be configured to show the preselection/transfer window for downloading new mails only if certain conditions are met, for example always, never or only if very large mails are to be downloaded. Since mails can be fetched in the background while you continue your work with YAM it would be very inconvenient if the preselection window would steal the focus from the currently active window (i.e. a write window to compose a new mail). Just imagine that you press "C" in that very moment the preselection window opens. This would immediately cancel the transfer, even if you were just going to type in the word "Commodore"...

To avoid such unwanted abortions YAM will open the preselection/transfer window in inactive state for automatically initiated mail transfers (i.e. timed mail fetch or mail transfers initiated by an ARexx script). For all user initiated transfers (import, export, get/send mail) the window will be activated, because this is an action that was explicitly triggered by the user and not some automechanism triggered by YAM itself.

The menu of the write window contains strange "ramiga X", "ramiga C" shortcut definitions. Why is the typical Amiga image not used instead?

The reason for this shortage has already been adressed in version 2.5 of YAM. However, please find explainations for earlier versions and why there the menuitems couldn't use the typical 'Amiga' images to signal the shortcut: The point is, that the configuration of these shortcuts was up to the user. In fact, TextEditor.mcc provided a configuration management where a user could specify himself which key shortcuts he want to use. The "ramiga X" display was just a placeholder for that - it even was't a real shortcut definition. It should have only pointed out which default key combinations are normally used for these operations. So it was more cosmetical. But as said, in YAM 2.5 the behaviour changed and now the typical Amiga image should be used as expected.

I changed the shortcut definition of TextEditor.mcc to use a non-default shortcut for the Cut&Paste operations. However, YAM still shows e.g. "Amiga+C" in the window.

Since YAM 2.5, the behaviour for the shortcuts of the default Edit actions like Copy&Paste have been changed. This means, that like explained in the previous FAQ item, YAM now always uses the standard shortcuts according to common StlyeGuides. E.g. a Copy operation will always be mapped to "Amiga+C" whereas the Paste operation will be mapped to "Amiga+V" no matter what you have configured in the TextEditor.mcc configuration itself.

For YAM versions prior to 2.5, the situation is slightly different. There, the shortcut which is configured in TextEditor.mcc will always be used and the shown e.g. "ramiga X" placeholder in a window menu is just to show the default if you have TextEditor.mcc set to the default.

The attachment icon sometimes suddenly disappears in main mail listview, why?

In the main mail listview where all your mails in a folder are listed, the Attachment status icon (normally a paper-clip icon) is sometimes shown, but suddenly disappears as soon as you click on that mail for viewing its content. Even if that may look a bit strange and may lead to the impression that attachments are being lost when viewing the mail, this behaviour is normal and correct.

The reason why this is happening is that unfortunately some broken (old) mail clients tend to send out emails where the main content-type is set to "multipart/mixed" or "multipart/related" even if that email just contains one main mail text part without a real attachment. This is clearly incorrect according to the RFC s and can be considered a bug in those email programs. However, the reason why YAM is first showing the attachment status icon is that it just analyzes the main mail header due to performance reasons and as soon as you click on the message a depper (more time consuming) analyze is performed where it automatically recognizes that the mail doesn't really contain any binary or text attachment, but just the main normal mail text.

So the behaviour of YAM is fully correct and in line what the RFC s suggests.

When I use the up/down arrows keys, the scrollbar of the main mail list moves instead of the highlighted mail to be changed. Why?

The cause for this behaviour might be, that you have selected the main mail list via the "Tab" key gadget activation feature of MUI. MUI has a so-called CycleChain feature which allows to cycle through all existing gadgets in a window via the Tab key. In such a case, the main mail list of YAM can be activated via a numerous amount of Tab-key uses.

And as the NList-based main mail list changes it behaviour when it is directly activated via the CycleChain, this is the reason why the scrollbar scrolls when you use the up/down arrows. If an NList class is activated in such a way it will scroll down instead of changing the selection.

However, there is an easy way of solving such a situation. You just have to press "Ctrl+Tab" to signal MUI to unselect all currently active gadget and as such you will find yourself back being able to change the selection in the mail list via the Up/Down arrow keys.

Redrawing of the folder listtree is so slow that I can see every single folder getting redrawn separately. Why?

The reason for the problem you are facing in YAM is, that YAM uses the NListtree.mcc class for rendering the folder list. This class is a subclass of the NList classes and highly depends on the internals of the NList.mcc class itself.

As a matter of fact, the NListtree class is known to be somewhat unoptimized in the fields of redrawing entries. Somehow it seems to massivly redraw items if there is any other window in front of the list it wants to redraw. So, this is a known issue of the NListtree class and will hopefully be adressed in one of the future versions of NListtree.mcc itself.

However, you can perfectly try to avoid that slow redrawing situation by making sure that no other window is in front of the folder listtree in YAM as soon as it requires redrawing.

Can I permanently save the position and size of a window?

Yes, via the normal MUI 'snapshot' feature....

...start the MUI settings interface by selecting 'Settings/MUI'. Select the 'Windows' section and make sure the third of the little system gadget buttons there is activated. After saving the settings every window will have an additional system gadget in the upper right corner. One click on this gadget will snapshot the actual size and position of the window for future sessions. This is a general MUI feature and if you use it on the YAM window you should be able to "snapshot" the window size of YAM permanently.

Why are some columns of the mail listview always resizing automatically?

In fact, this behaviour is very common for NList-based listviews. The 'problem' is, that NList is per default automatically adjusting the size of each column depending on their content width. So if you have a mail with e.g. very long subject lines or if the status column contains a changing amount of status icons, it may happen that NList automatically decided to resize the columns automatically.

While this can be very annoying during normal work, it can also proof quite usefull in some cases. However, there is also the possibility to force NList not to automatically resize a column. For this to happen, you have to drag the vertical separator to the desired size (you actually have to drag it at all) and use the MUI 'snapshot' feature you can normally access via one of the top-right border buttons in the YAM main window.

The toolbar buttons and other graphics are displayed in wrong colors. Why?

This usually happens due to a bug in the 'ilbm.datatype' and only happens if YAM is running on a hicolor or truecolor screen. An update of the ILBM.datatype can be found on Aminet.

The toolbar buttons don't fit in the window, the rightmost buttons can't be accessed. How can I fix this?

Some users think that the graphics are too large, but in fact the button labels are eating so much space. If you're using topaz/8 as the label font, then some of the buttons become invisible on a 640 pixel wide screen. Solution: select 'Settings/MUI' and go to the 'Toolbar' section. Now you can either choose a thinner font (helvetica/9 works well) or switch off the labels completely ('image only' mode).

The layout of the prefs window doesn't adapt properly when reducing its size, any solution available to it?

Yes, we know about it and have already fixed the issues in newer YAM versions. In fact, it was a bug in the layouting of the prefs window of YAM versions <= 2.4p1. Any newer version shouldn't contain that issue anymore.

Printing doesn't seem to work. What's wrong?

The printing engine in YAM is directly using the PRT: device of the operating system you are using. Please make sure you have that device properly configured and verified that you are able to print via PRT:. Besides that, YAM isn't doing anything special on printing.

Printing seems to work, but I always get a warning requester right before the document is printed?!?

Under certain circumstances it may happen that when you try to print an email, you will get a warning requester about either your printer being offline and/or your printer reporting it is out of paper. However, when you press Okay/Ignore the document is perfectly printed without any problem.

The reason for that strange behaviour is, that YAM has a printer check routine which tries to identify if your printer is online and/or out of paper. However, this routine may not work on some situations or if your printer and/or the printer.device reports a wrong status.

To workaround the issue you can setup YAM to suppress the warning completly and directly send the data to the printer regardless of the acquired and perhaps incorrect printer status. All you have to do is to open your YAM:.config file in a text editor and search for the configuration item "PrinterCheck". All you have to do is to set this item to "N" and saving the configu file back. Then YAM shouldn't bother you with those error requesters anymore as soon as you have restarted it.

Why is YAM taking braces as in "http://www.example.com" as part of URLs?

Despite the recommendation in RFC 1738 to encode such characters when they are supposed to be part of URLs, a number of Internet resources, entities and users keep using the "[]" braces in unencoded form, and this used to make YAM stop parsing an URL as soon as such characters were found, as in "<http://www.example.com/files[7]/myfile>". As a workaround for this problem, YAM 2.4 takes these characters as part of the URL. Parenthesis are allowed in URLs in unencoded form, which again negates the use of () to delimit URLs. You are advised to use "<" and ">" for this purpose.

Why does YAM crash or hang when I enter the 'Mixed/Misc' section in the configuration window or while starting up?

This may be because of bugs in the XPK system (a collection of libraries used to compress and encrypt files) itself. It is known that XPK Release 4.31 contains a bug in the xpkQuery() function, so you should upgrade to at least version 4.32 or newer. In addition, in release 4.33 there's a buggy version of xpkNONE.library which can be found in the LIBS:compressors directory. We suggest to delete this file (who's using it at all?). Recent versions of XPK can be found at http://www.dstoecker.eu/xpkmaster.html.

And last but not least, other third party compressor libraries stored in the LIBS:compressors directory may cause the same issues. So if you run into the above mentioned proble, we suggest that you use tools like 'SnoopDOS' to track the library open sequence while switching to the 'Mixed/Misc' configuration page of YAM. As soon as YAM crashes because of a broken compressor library, you should notice that in the output of SnoopDOS. Delete this broken library from LIBS:compressors and try to start YAM again.

Why there are Enforcer hits when flushing memory after uniconifying YAM and its MUI prefs?

If you iconify YAM while its MUI prefs window is opened, then you do an AVAIL FLUSH and then uniconify YAM, you get Enforcer hits. Unfortunately, this is a bug in MUI <=3.8. The same problem can be reproduced with any other MUI application.

I cannot change the sender address (From) in the write window since YAM 2.8. Why?

This is not correct. Correct is, that the write window does not have a freetext string gadget for changing the sender address (From) anymore. But there is now a completly new and more powerful way of changing the sender address than just entering it in a freetext string gadget. Since YAM 2.8 you can setup an unlimited number of 'identities' in the global YAM configuration. There, identities can be setup to have different sender addresses and as soon as you have configured more than two identities the write window will show a 'From:' cycle gadget that will allow you to easily change the identity and thus the sender address for the mail you are currently composing.

So you simply have to setup as many identities as you use different email addresses and then use the cycle gadget in the write window instead. In addition, if properly setup, this identity support also allows you to chose different SMTP servers, sent mail folders, default signatures and other options per identity which is way more powerful than just manually entering different sender addresses each time in a freetext string gadget.

Language Support

There seems to be no translation available for my language?

Well, as you might know. YAM is open source and as such is highly dependent on on the users (community) - especially when it comes to locale translation. Even if there are organisations like the ATO who are trying to organize a global and free translation service for Amiga applications, we are trying to give individual the chance to contribute their translation.

So if you find that YAM isn't yet fully translated for your language, please have a look at Localization document. There you should find information on how to generate your own translation file and also contribute to us.

We are looking forward to receive your translations.

Reading Mails

Why are some mails displayed without any text content which got displayed properly some weeks ago?

Mails may contain several "streams", like the normal text and attachments. The text however may also exist in more than just one variant. The standard allows plain text and HTML text to coexist within one mail, but in this case both parts must contain the same text, even if they are displayed differently.

Now some very smart companies, but this also applies for spam mails, decide to fill only the HTML part with their message and leave the alternative text part empty. Most mail clients on other systems prefer to display HTML text this goes unnoticed by the masses and nobody complains. Since YAM still prefers plain text over other alternatives and hence will display a mail with no body at all.

However, this can be worked around. Open the config window, go to the "Read" page and activate the options "Display all texts" and "Show alternative parts". This will let YAM display the alternative HTML part as an attachment and additionally will show this HTML part converted to text.

When displaying an email with embedded soft-styles such as bold/italic, etc. the mail will be displayed with the style markers '*' as well, why?

In versions previous to YAM 2.5+, email messages were displayed with the soft style markers in a mail. However, this cause severe trouble in case a style marker was incorrectly recognized so that text was mixed up. Especially for formatted text like stylished ASCII-art signatures or documentations this ended up in a completly mixed up display of the email. In addition, other mainstream email programs also didn't strip the soft-style markers for the very same reasons.

Example: Considering that an author of an email wrote a short ASCII-art documentation in an email to e.g. explain a bit mask that he used and where he wanted to highlight the first bit as important in bold:

0      1 0 1 1
|      | | | |
|      | | | bit5
*bit1* | | bit4
       | bit3
       bit2

Due to the used '*' bold-style characters this may have ended up looking like the following in YAM < 2.5 because the '*' chars were completly replaced by the bold style only:

0      1 0 1 1
|      | | | |
|      | | | bit5
bit1 | | bit4
       | bit3
       bit2

As can be seen in that example, the ASCII-art here is completly mixed up due to the removed "*" bold-style characters.

However, now with YAM 2.5+ these kind of problems were fixed by keeping those soft-style characters in the showed mail text so that the above example now perfectly ends up being display correctly with the bold style and its markers:

0      1 0 1 1
|      | | | |
|      | | | bit5
*bit1* | | bit4
       | bit3
       bit2

In addition to that fix, it is now more easily possible to spot which character can be used to start writing a word in bold style rather than having to always use the corresponding toolbar button.

Doubleclicking an URL doesn't seem to popup my favourite webbrowser?

For automatically popping up your webbrowser upon clicking on an URL in a mail you are view ing in YAM, you require to configure either an external Arexx script to popup the web browser or to install and configure openurl.library and its corresponding tools. Here we are going to discuss both possibilities. However, OpenURL should be considered the default preferred way.

via OpenURL: Before we are going to discuss how to configure OpenURL correctly, please make sure you have the very latest version correctly installed and reachable for YAM. As of writing, the latest version of OpenURL is version 7.2. Please make sure that the following command outputs similar values on you shell:

1> version LIBS:openurl.library full
openurl.library 7.2 (01.12.2005)

In addition, you should have a preferences program 'OpenURL' in you SYS:Prefs drawer. This is the main configuration tool for OpenURL. On a freshly installed OpenURL setup, it contains default settings. However, please note that these defauls do most likely NOT work out-of-the-box. You have to actually change them to your own iternet applications environment. As we are currently only interested in setting up a web browser in OpenURL, we take IBrowse as an example.

So, if you have the preferences application open, you will see different registers for web browsers, mailers and FTP programs you can configure. In 'Browsers' you should find an 'IBrowse' entry with some default settings. Doubleclick on it and make sure the following window shows the similar information:

Example screenshot of OpenURL

Please note, that especially the "Path" setting definitly requires a change, as you are supposed to put in the correct directory/file path to the IBrowse executable. However, make sure that the "%u" part at the very end of the string remains.

Next, make sure that in the main configuration window, the 'Misc' register contains the following settings:

Example screenshot of OpenURL

Now, if you have everything correctly configured and setup according to the above explainations, you should be able to open an URL even from the command line via the C:OpenURL executable that was also supplied with the default OpenURL installation:

1> openurl http://www.yam.ch/

This should, if correctly configured, fire up IBrowse in case it was configured to be the web browser with the highest priority in OpenURL. So please check your OpenURL configuration that e.g. IBrowse is at the top of your configured web browser list. In addition, if the above openurl command didn't succeed with automatically launching your web browser, try to use tools like SnoopDOS or Snoopy for tracking what OpenURL is trying to do when you execute the C:OpenURL command.

If this worked as expected, you can now try to doubleclick on an URL in a mail mesage in YAM (after having restarted YAM). If this still doesn't fire up IBrowse as the C:OpenURL did, then please have a look at the "Scripts" configuration tab in YAM. There, you have to make sure that you have NOT configured any arexx script for handling the doubleclicks on URLs. ("When double-clicking a URL" have to be empty)

via Arexx: If, for whatever reason it might be, you want to use a plain Arexx script for firing up the correct web browser, all you have to do is - go to the 'Scripts' configuration tab in YAM. There, make sure that you have the 'GotoURL.yam' script configured for the doubleclick actions on URLs. In addition, you have to make sure that - if you have YAM 2.5+ running - the script command string contains an %p qualifier at the end, like:

For YAM 2.5+:

YAM:Rexx/GotoURL.yam %p

For older YAM versions:

YAM:Rexx/GotoURL.yam

However, please note again, that the preferred way of configuring a doublick action on URLs is, to use OpenURL instead of the limited Arexx script possibility.

YAM shows the default icon for attachments rather than the one I configured in DefIcons. Why?

YAM 2.5+ introduced a new so-called AttachmentGroup which shows all attachments of a mail in an icon/image bar at the bottom of the mail read window. For each attachment, it will show a seperate icon/image depending on the file type of the attachment. For archieving this, it uses the DefIcon system of the operating system it is runing on. This system allows (through SYS:Prefs/DefIcons) to configure seperate icons for various types of files. Unfortunately, it is limited and especially the way third-party applications like YAM can query the icon/image for a certain file isn't perfect at all. In addition, the way DefIcon identifies a file type is based on certain rules a user can configure in SYS:Prefs/DefIcons where some rules do actually try to analyze the binary content of the file in question and therefore require the actual file to exist.

Now, when YAM is going to show the user the AttachmentGroup, it hasn't decoded all different MIME parts due to performance reasons. This means, that at the time YAM tries to show the user the icon/image for an attachment, it just knows the filename, description and size of the attachment, but it hasn't actually written the binary data of it to disk. So, at the time YAM is going to ask the DefIcons system for the actual icon/image of the file it can't supply the decoded binary and therefore will only show/query for the default type based on the MIME type of the attachment.

However, as soon as the attachment was decoded either because it was viewed/printed/saved from within YAM, the AttachmentGroup will show the correct icon/image based on what DefIcons supplies.

Why do certain mails I receive show up with lines quoted like ">From " even if the author of that mail hasn't written that From line quoted?

Well, the answer is, the badly defined MBOX format is the reason.

Certain mail delivery agents (MDA) and POP3 server implementations do have different interpretations of the MBOX format. In fact there are numerous MDAs (even procmail) out there which do not correctly escape those "From " line appearing in a message body and for that reasons most POP3 servers just plainly delivers the messages out of a MBOX format 'as is' instead of removing the ">" escaping. And unfortunately that missinterpretation is so widely spread over the various MDA implementations that a proper fix for it is really hard - if not impossible.

So, the answer is that this quoting is already done during initial mail delivery and that most likely your ISP is to blame for it. The only sensible approach to finally fix these common ">From " quoting issues is to force your provider to switch to the better defined and well accepted maildir format which doesn't depend on that '>' escaping...

Replying/Forwarding Mails

I can't put my initials into or change the quoting string used on reply! Why?

In YAM 2.5 we removed the possibility to add your own initials to the quoting string '>' that is normally put in front of every line when you reply to a mail. This was done to conform to common netiquettes and the so-called Son-Of-RFC 1036 and its successors.

The point is, that there are some kind of common rules when creating an email. And one of those rules is the way a text/mail should be quoted. Borrowed from the way quoting was common in Usenet, emails use the same '>' quotation character that is put in front of every replied line in a mail. Previous versions of YAM allowed to put your own initials in that quoting string so that a string like 'JD>' was added on all mails that were quoted by the user John Doe. While this seemed to be a nice and neat way of getting more order into the quoting history, it more or less ends up in more obfuscation of mails, especially in large threads. Another point why such initial quotation strings shouldn't be used is, that there is only a very few amount of mail clients that are able to identify these strings as actual quotations and strip or highlight them accordingly on a reply.

Therefore, we generally removed the possibility to add your own initials to the quote string as well as the graphical elements to change the quotation string in the YAM configuration window. We really believe that compatibility to common rules and RFC s is most important.

For further readings on the pros and cons and how a mail should be properly quoted please have a look at http://learn.to/quote. Keep especially an eye on the 'Quotationsmarks' section that pretty much sums the issue up.

When replying to a mail, a wrong To: address is put in the write window, why?

Well, there seems to be a common misunderstanding of the folder based "mailing list" feature in YAM. Normally YAM allows to configure a folder as a so-called "mailing list folder" where you can set a "To: pattern" and "To: address", so that certain mail actions like reply, forward or new mail react differently when the configured pattern matches the To: address of a mail. For example, if you are suscbribed to the YAM user mailing list your ought to have a seperate folder for the posts arriving from the YAM mailing list and eventually your folder configuration will have a configuration similar to:

'To' pattern: #?yam@freelists.org#?
'To' address: yam@freelists.org

So in case you are pressing reply to a mail where the To: matches the configured pattern, the preconfigured "To: address" of the folder will be inserted instead.

However, it seems that some people mix up the "To: pattern" and set it to "#?" or their own mail address only. This is clearly not what this 'To' pattern is all about and definitly ends up in not being able to correctly reply to a mail - especially when you are in the Incoming folder.

So, please go through all your folder configurations (doubleclicking on each folder) and check that you have the "To: pattern" correctly set or the mailing list feature disabled for the folder. Best practice would be, if you want the mailing list feature enabled, to use the "Auto" button in the folder configuration window. This will automatically try to find out the correct pattern and mail address in case you already have some mails in the folder.

In addition, please also keep in mind that when replying to a mail that is stored in the incoming folder, YAM will check all mailing list configurations of all folders. That means, if you press "reply" on a mail in the incoming folder, YAM will walk through all your folders and if a "To: pattern" matches the mail, the write window will get the specified "To: address" instead of the mail's original sender address. So here the incoming folder is somewhat special and therefore it is absolutely necessary to have all 'To' patterns of all folders setup correctly.

What's the purpose of the 'Bounce' option in YAM and can I use it to e.g. bounce SPAM mail back?

Since early versions (2.3), YAM has a 'bounce' (remail) option which allows to send a mail to an alternative recipient as it would have been sent to that recipient originally. This functionality is also often called a 'remail' operation. What YAM does is, to take the mail as you have received it and directly remail it to an alternative recipient. The new recipient will receive that mail with more or less not noticing that it was send to an another person previously.

In fact, 'more or less' in this term means, that YAM will add some special header entries (e.g. 'Resent-From:' header) to signal that the mail in question was not really comming from the original author directly, but 'resent' instead. This is to conform to RFC s and to give the new recipient at least a minor hint that the mail in question may have been altered on the way.

So if you once received a mail on accident which normally should have gone to someone else you can use the bounce functionality to do that. Another use case could be to forward the mail as is to another account of your own.

However, this functionality is not meant to be used to bounce the mail back to the original author. This includes that e.g. if you received a SPAM message you want to bounce it back to the original author (the spammer) to give him the impression that something went wrong and that the user didn't exist. That's not only producing unnecessary email traffic but also isn't the scope of the bounce functionality in YAM. In addition, since 95% of the junk mail have bogus sender addresses this would result in error messages or that you have sent SPAM yourself to someone innocent. Spammers themself don't care about whether the mail makes it or not (hence the bogus address). All they are after is the small percent that fall for whatever they are spamming for. If the address is simply bad then it is going to bounce back or more commonly it is someone else's address that is going to get bombarded with bounced messages.

Why are are mails duplicated in the Outgoing folder when editing them again later?

With YAM 2.9 the usage of the Outgoing folder has changed. It is no longer used to store both "unfinished" AKA "work in progress and put on hold" mails together with "finished" AKA "ready to be sent" mails, but only "finished" mails. If you plan to make further modifications to a mail before finally sending it out you should not click on "Send now/later" in the write window but on "Save as draft". This will place the mail in the new Drafts folder to make further modifications at a later point in time. Mails in the Drafts folder will never be sent out by YAM, but can easily be edited again by a simple double click.

However, modifying a "finished" mail in the Outgoing folder is still possible, but then the mail will be treated as any other received mail and YAM will create a new mail in the Outgoing folder. It is then the user's task to decide which mail is the one to be sent out. The other one should be deleted to avoid confusion for the receiving recipients.

Composing Mails

Is it possible to send an email to a group of recipients in one go?

Yes it is. You just have to create a new list with a suitable name in YAM's address book and add all the desired recipients. Then add this list as a regular recipient when writing a mail.

When writing an email I get an error message like "+++ Host environment not found"?

If you are about to write an email in the internal texteditor of YAM and you automatically get an error message similar to this one:

+++ Error 13 in line 1: Host environment not found

This points out that the internal TextEditor.mcc tries to perform spell checking via its internal functionality. So this is no error message from YAM, but an error message comming from TextEditor.mcc. To get rid of the warning, please go to the MUI preferences (SYS:MUI/MUI) and make sure you disable the spell checking of TextEditor.mcc within its MUI preferences there. Afterwards the above error message should vanish.

But if you prefer to get the spell checking running, please consult additional documentation about the AlphaSpell support of TextEditor.mcc and how to properly set it up.

Why isn't YAM able to mark whole sentences as bold/italic/underline and just highlights single words? Wasn't that possible already?

Since YAM 2.5 the text highlighting functionality in YAM was changed according to more or less established standard when writing/displaying email on different email programs.

Previously, the internal TextEditor allowed to mark whole sentences as bold/underline/italic/colored whereas this operation ended up in showing those sentences in the corresponding style. When having sent the mail it would then end up as e.g. the following example in the final email message:

*This sentence in bold*

However, this scheme was completly incompatible to the given established standards in the email client community. Mailers such as Thunderbird never displayed those sentences in the correct style. In addition, it wasn't quite intuitive to notice the bold state when reading through such emails in the first place especially if they are wrapped to the next line.

Therefore, the highlighting practices were changed in YAM 2.5 so that each single word in a sentence will now be selected and set to the corresponding style separatly. So now the above sentence will end up looking like the following in YAM 2.5:

*This* *sentence* *in* *bold*

Even if that seems to be very ugly on a first thought, it is the only logical approach to the problem of having such mail interchangeable between different mailers. In addition, in most cases only single words need to get or should be highlighted in an email so that you will hardly set a whole sentence in bold/underline or such.

Why is the TAB key not advancing to the internal text editor gadget when I finished writing the subject line of a mail?

This "problem" should only be visible with YAM versions equal or higher than 2.5+ In fact, it isn't really a problem, but a changed behaviour. The point is, that due to the change to TheBar.mcc the toolbar is now also within the normal MUI "CycleChain" for allowing an application to get fully manageable via keyboard. So, if you are now editing the subject line of a mail and you press the TAB (Tabulator) key, the next activated MUI gadget will be the first toolbar button instead of the TextEditor gadget like it was in versions prior to 2.5.

However, to still being able to switch to the text editor immediately you can use the Return/Enter key instead. That means, if you are finished with editing/writing the subject line and you want to change to the text editor for writing the actual content of the mail, just press the "Return" key instead.

Why doesn't YAM let me choose an address from the popup list when writing a mail?

When completing a yet known address YAM needs to be able to distinguish one address from another. That means that both, alias and realname, should be "relatively" unique. Example: First address book entry Name: foobar Alias: Address: test1@… Second address book entry Name: blafasel Alias: foobar Address: test2@… As soon as you enter "foobar" in the "To:" field the address match list will pop up to let you choose a recipient. But selecting either of these two entries will fail, because YAM cannot tell these two entries apart if "foobar" is the only matching criteria. "foobar" can be resolved to the first entry's name AND to the second entry's alias, but not to one single entry. That is why the resolve will fail. The only soltion for this problem is to use unique names and aliases. That means NO real name must exactly match any other alias, and vice versa.

My system hangs when deleting a block of text in the editor while using a key qualifier, why?

Unfortunately, this is a bug in the Texteditor.mcc <= v15.9 MUI custom class you are using. Please upgrade to the very latest version available at http://www.sf.net/projects/texteditor-mcc

Filtering Mails

If I search for "[SPAM]" in a filter, mails not containing this string will get hit by the filter as well, why?

Well the reason is, that you seem to have missed that the string gadget for entering the search string accepts AmigaDOS wildcards. Therefore, the [ is a special reserved character and have to be escaped to match the literal character itself. So if you want to search for a [ character with an AmigaDOS pattern aware method you have to use:

'[SPAM']

where the ' character escapes the reserved state of the [ and ] chars. However, even more precisly would be to use:

'[SPAM']#?

instead and turn off the "Substring" option. That would then match only subjects that actually start with [SPAM] as there might even be non-SPAM messages contain that string somewhere.

NOTE on searching for [SPAM]:

Matching SPAM messages on the literal [SPAM] marker in a subject line is more or less a bad idea as it would cause (even if correctly escaped) many non-SPAM messages to get filtered incorrectly. Normally SPAM filter add an additional header line like 'X-Spam-Status:' to each checked email. So to reduce the amount of incorrectly matched mails you would be better off searching for that optional header line and search if it starts with "Yes".

How to train YAM's SPAM filter properly?

YAM's spam filter is an adaptive filter - a so-called Bayesian spam-filter - which was ported from the well-known mail client Thunderbird and behaves exactly the same.

Background: The nature of this kind of spam filtering is an iterative learning process where the content of a mail will be evaluated according to a calculated spam probability. That means, that right from the beginning it is absolutely "stupid" and doesn't know which mails are actually spam or no spam. Hence the filter needs to be trained manually to be able to distinguish between spam and no spam.

Usage: After enabling the spam filter all newly received mails will most likely be classified as spam and automatically moved to the spam folder. This is absolutely normal and intended! Again, keep in mind that the spam engine is "stupid" and only relies on your user input.

Now you have to tell YAM which mails are really spam and which are not spam (so-called Ham). Just mark all regular (no spam) mails which were moved to the spam folder as "Not Spam" and move them to another folder (i.e. the incoming folder). This will train the spam engine about how "no spam" mails look like. Such mails are called false negatives because they were automatically flagged as spam but they aren't spam. Continue to do so as more "no spam" mail arrives which will be automatically flagged as spam on accident.

Of course, the spam procedure applies to spam mail that was not recognized as spam. If new mail arrives and it wasn't properly recognized as spam flag it as spam manually. Continue to do so as new mail arrives. After some time YAM will gradually become better in correctly recognizing spam mails itself and you will have to classify false positive and not recognized spam mails yourself very seldom - However, there will always remain a small probability of false positives and not recognized spam mail, no matter what.

WARNING: You should NOT "enforce" the learning process by classifying all your previously collected spam mails manually after enabling the spam filter. YAM will learn best by itself with a little help by the user, as described above. Only newly received emails should be manually flagged as spam or no spam. Usually about 100 mails (good as well as bad) are enough to let YAM recognize spam mails correctly with a probability of 90% and more. However, if for some reason the spam filter "stops" to work for you no matter how to train it, go to the YAM configuration and reset the SPAM training data and restart flagging spam and no spam manually as new mail arrives.

Network Setup

How to properly set up SMTP-AUTH authentication?

Some mail providers (ISP) recently changed their requirements regarding to how incoming mail is handled and who is allowed to send mail through their servers via the SMTP protocol. This mainly was necessary to reduce the amount of SPAM, thus letting only authorized users send mails. This protocol is called SMTP-AUTH and fully supported by YAM 2.5+.

Often providers even require the users to connect to their SMTP servers via an encrypted connection only. This is what the SSL/TLS feature in YAM is for. Together with the required AmiSSL library, it fully encrypts every transfer through YAM and the mail server. To use such a secure connection you must install AmiSSL V3.5. While AmigaOS4.0 already comes with AmiSSL V3.5 installed, for OS3.x or MorphOS you have to download AmiSSL 3.6 from the AmiSSL homepage and install it on your system.

To properly configure a SMTP-AUTH connection in YAM, you can go to the TCP/IP page of the configuration window. There you have to make sure that you have configured SMTP accordingly:

    secure connection type: SSLv3 (if it is required)
    use SMTP-AUTH: yes
    User name: <your user name>
    Password: <your password>
    Method: Auto

Usually 'Auto' as the authentication method should be suffice. If your mail provider still doesn't accept your mails then you should select a specific authentication method (DIGEST-MD5, CRAM-MD5, LOGIN or PLAIN).

And if you are still unable to send mails even via one predefined method, then you can run YAM with the DEBUG command-line option. This option will enable the internal TCP/IP debugging and output any raw output of the connection on the shell you just started YAM from. See FAQ item for more information on how to debug YAM.

When sending mail via smtp.gmail.com, YAM returns an error upon terminating the connection. However, the mail will be correctly send to its recipient.

It seems that this is a problem/bug in the SMTP server implementation of the googlemail mail servers (smtp.gmail.com, smtp.googlemail.com, ...). When sending an email over one of the SMTP servers of googlemail, the server immediately drops the connection when the client (YAM) signalled the server that it wants to quit the connection. However, the standard (RFC 2821) clearly defines that if a server receives such a QUIT command, it have to reply with a status code and afterwards drop the connection. Unfortunatley, the googlemail servers seems to not send this status code anymore if a mail was already successfully transfered. This of course, clearly violates the standard and causes YAM to drop an error/warning message about an unexpected connection drop.

Unfortunately, there doesn't exist any way of avoiding/supressing those warnings with YAM 2.4. However, recent versions (2.5) have an added workaround for the problem and doesn't automatically popup those warnings anymore.

Still, we highly suggest to send an email to the support of googlemail and let them know about the problem. Of course, feel free to cite this FAQ item in the hope that at one day googlemail developers will read it and fix their SMTP server implementation.

In addition to the above violation to the RFC s, the gmail servers seem to have a rather long timeout phase when communicating to SMTP clients like YAM. This means that upon sending an email it might happen that right at the end of the communication to the SMTP server of google, YAM returns an error because the gmail server didn't correctly response within the internally specified time interval within YAM. On the other hand it might be that this time interval was simply incorrectly set to a too short value. So please make sure (if you have YAM 2.5+ running) that your ".config" file has the "SocketTimeout" value right at the end of the file set to at least 30 or even higher which means that YAM will wait 30 seconds for a response from the mail server before considering the connection being broken/dropped.

When I use Genesis, Yam always uses the Genesis user to choose the account. How can I change that?

YAM has special built in support for the Genesis TCP/IP stack by being able to query the currently active username. So it supports to automatically start YAM with the user that your Genesis TCP/IP stack is currently running. E.g. If you have Genesis configured for a user "john doe" and you have the very same username in YAM configured, it will startup automatically with that user enabled and doesn't query for any user selection or password.

However, if for some reasons you are not able to sync the user names of Genesis<>YAM, you can start YAM either from the command line with the option "USER <USERNAME>" or by adding the 'USER' tooltype to the YAM icon. In that case, YAM will then automatically select the specified user and just query for the password.

I am not able to abort a POP3 transfer and the whole application seems to hang, why?

YAM has been a single-threaded application until version 2.7 which uses so-called blocking socket I/O. This means, that until version 2.7 it could only process one job at a time and a single TCP/IP transfer like a POP3 or SMTP connection or transfer might lock up the whole application (even GUI operations) in case the server doesn't response. This, for example can happen if the POP3/SMTP server you are trying to connect to isn't responding properly or your connection is suddenly interrupted.

The reason for the GUI lockup is, that as soon as YAM is trying to connect to other server, it is fully relying on the functionality of the TCP/IP stack you are running on your operating system (e.g. Roadshow on AmigaOS4). And as YAM is still using blocking socket I/O and that the TCP/IP stack might have a large timeout for retrying a certain TCP/IP operation it suddenly can cause your YAM application to block until the TCP/IP stack decides to return from the blocking socket call.

Even if for most connection types and users this might not be a big issue, we know that it can become very annoying and disturbing. Especially if you are having a dail-up connection. However, we have already planned to address the issue in a future version by introducing full multi-threading together with the use of non-blocking socket I/O in YAM. Until that happens, you can also try to lower the timeout of your TCP/IP stack and/or try to shutdown the TCP/IP stack if a connection suddenly locks up YAM.

As mentioned earlier, since version 2.7 YAM is fully multithreaded and should not block any GUI elements during a network transfer.

I have automatic mail download/send on startup enabled, but YAM 2.6 doesn't perform the mail exchange. Why?

YAM supports multiple users. Each of these users must have a real name to enable YAM to distinguish between these users. This name must be set in YAM's user management.

The problem with the automatic mail exchange on startup arises if a user doesn't have a real name. In this case YAM 2.6 cannot detect that upon a (re)start the user has changed and hence it will skip the automatic mail exchange completely. However this can only happen if you never ever opened YAM's user management to give the user a real name.

The solution is very simple: open YAM's user management window, check all user names to be correct and close the window again. After that the automatic mail exchange upon start will work again.

Languages:

ARexx Scripting

  1. The "WRITEEDITOR TEXT" arexx command doesn't seem to work?
  2. The GotoURL.yam Arexx script doesn't seem to work and popup my webbrowser if I doubleclick on an URL. Why?
  3. Why can't I send newline characters (0x0a) via the WRITEEDITOR Arexx command to YAM?

The "WRITEEDITOR TEXT" arexx command doesn't seem to work?

If you are having trouble getting the WRITEEDITOR TEXT arexx command to work as expected and your script always returns an error similar to that one:

1 *-* WRITEDITOR TEXT Hello World
+++ Command returned 10

then chances are high that you simply missunderstood or missread the documentation about the WRITEEDITOR command in the YAM amigaguide documentation. So please note that using the TEXT attribute of the WRITEEDITOR command implies to take care of a special text quoting as otherwise YAM isn't able to identfy what the attribute and what the actual text is you supplied to the WRITEEDITOR arexx command.

For example, if you want to put the text "Hello World!" into an already opened write window in YAM you are ought to have you arexx script designed like:

/* My script */
ADDRESS YAM
MAILWRITE WINDOW 0
'WRITEEDITOR "TEXT Hello World!"'

Please take special attention on the used quotating marks (' and ") used on the WRITEEDITOR command. Any other combination of these quotation marks will actually result in the WRITEEDITOR command to return the above mentioned error. However, if you want to just issue the e.g. CLEAR attribute you can also simply use "WRITEEDITOR CLEAR" without any quotating marks. The special quotation is only required for the TEXT attribute.

The GotoURL.yam Arexx script doesn't seem to work and popup my webbrowser if I doubleclick on an URL. Why?

The included GotoURL.yam Arexx script might fail due to several possible reasons.

First of all, we have to mention that due to the direct integration of the openurl.library in YAM 2.4+, the Arexx script is somewhat considered obsolete. The same behaviour/functionality can now be achieved by installen the OpenURL library and its tools. So, we highly recommand to install the openurl.library instead and disable the use of the GotoURL.yam script in your YAM->Arexx configuration.

However, if you still want to continue to use the GotoURL.yam arexx script there are several things you have to consider and eventually modify the arexx script directly:

  • Several parameters within the GotoURL.yam script have to be changed and adapted to your own environment. This includes the correct path to the webbrowser you want to get started as soon as you double-click on an URL
  • Since YAM 2.5+, the way Arexx scripts are executed is slightly changed. In fact, former versions did automatically supply the script the full path to the URL when executing. Since YAM 2.5+ you have to make sure that within the Arexx configuration you supply the script the necessary URL replacement substitution string (%p).

Why can't I send newline characters (0x0a) via the WRITEEDITOR Arexx command to YAM?

You can. But you have to escape such special characters like a newline or an escape (0x1b) character with some special char sequences like:

 *N subsitutes to a newline (0x0a)
 *E subsitutes to a esc char (0x1b)
 ** subsitutes to a *
 *" subsitutes to a "

For example the following command would write a string to a texteditor containing a newline:

'WRITEEDITOR "TEXT Hello Joe,*N I would like to meet you."'

Please note that this applies to all Arexx command arguments and that you have to use proper escape sequences like explained above.

Languages:

Debugging

  1. Basics about YAM's debugging facilities

Basics about YAM's debugging facilities

This article discusses how you can get more detailed information from YAM in case you run into a problem which might point out being an actual bug in YAM or any other respective component used by YAM. For the development of YAM, but also for identifying the root of a problem, certain so-called debugging statements are included in the source code of YAM. Part of these statements are normally only available in so-called debug versions of YAM. But some statements are even present in the normal final release versions.

So in case you have been instructed by a YAM developer to run a debug version or you want to see if there might be an issue you would like to investigate a bit deeper, the following instructions might help you. Please note, however, that most of the things discussed here are hardly of any help for novice users. So please proceed with debugging only in case you have been instructed by a YAM developer to do so.

IMPORTANT NOTE:

Debug output is meant to help us to find bugs in YAM and may contain private data, like passwords, user names, etc. Please make sure to strip such data from the catched output before making it public in any form (e.g. in the bug tracker). We take absolutely no responsibility for possibly hacked mail accounts due to accidently published private information. So please be aware of that when dealing with debug output.

Different debugging facilities in YAM:

YAM provides two different debugging facilities:

  1. debugging and output of all text based communication between YAM and the server you are communicating to (POP3, SMTP, etc.).
  2. a full blown debugging log containing lots of internal stuff

The first one is available in every YAM executable (even the release version) and is enabled by either adding the DEBUG ToolType to YAM's icon or by running YAM from a Shell via "YAM DEBUG". The latter method should be the preferred one, because the output can be redirected to a file ("YAM DEBUG >debug.log") then, which you can edit afterwards.

The second facility is not contained in the normal release version of YAM, but in a special debug executable. This executable is also available on YAM's download page. Please make sure to catch the right debug archive for you platform and install the "YAM.debug" executable beside your normal "YAM" executable.

To make use of this special debug version, you also need a way to catch the serial output that this debug version sends its debugging information to. This can either be achieved by using a null-modem connection to a second computer (connected to your Amiga via a serial nullmodem cable) or via the Sashimi application available on AmiNet (for OS3/68k, for Morphos/PPC or for AmigaOS4/PPC). Sashimi is an application to cath all output sent to the serial line of your computer and as such allows you to catch the debugging information sent by YAM. In case you are not using Sashimi to capture the debug output, it will be send over the serial line to the remote computer and must be logged there with an appropriate terminal program (e.g. HyperTerminal or TeraTerm Pro under Windows or miniterm under Unix).

Using Sashimi:

If you are using Sashimi to log the debugging information locally, please run Sashimi before running YAM like this:

run <>nil: sashimi on noprompt >debug.log

Sashimi offers some more options to influence its behaviour. Please refer to Sashimi's documentation for further information.

Other required third-party debug tools:

Depending on the platform you are running YAM you should have the following tools installed and running before you start running a debug session of YAM:

AmigaOS3 or MorphOS:

  • Enforcer or CyberGuard - to catch illegal memory accesses.
  • SegTracker - to enable Enforcer/CyberGuard to show the hunk and source code information of the memory fault.

AmigaOS4:

  • MemGuard - to enable OS4 to track for memory leaks and such

All these tools are available mostly on AmiNet or from other public places . Please read their documentation carefully. Usually no special options need to be specified to get a usable output in case of a crash. The only important point is to start those tools before running YAM.

How to define which debugging information to get:

Once you are able to catch the serial output that is sent by the debug version of YAM, you need to tell YAM what kind of debug information you want to have. This is done by using an environment variable (ENV variable) called "yamdebug". You just need to set this variable to a string which contains certain command which YAM will interpret as soon as it will be started (see below).

YAM's internal debugging facility is split into two parts: debug classes and debug flags. Debug flags are normally used to define a certain debug output to a function or area of the application (e.g. information about arexx, the startup, tcp/ip related, etc.). Debug classes, however, are used to define that the debug output/information is of a certain nature (e.g. a warning, an error or such). So most of the time you will probably want to set debug flags and only define a whole debug class to be shown or hided in case you receive too much or too less information.

All currently available debug flags are:

  • always - print out always, not specifically related
  • startup - startup/shutdown stuff
  • timerio - timer.device stuff
  • config - all about configuration handling
  • filter - mail filtering (including spam filtering)
  • folder - folder management
  • mail - stuff related to single mails
  • mime - MIME stuff
  • gui - GUI handling
  • rexx - ARexx stuff
  • net - network and TCP/IP stuff
  • util - miscellaneous utility stuff
  • import - mail import and export
  • xpk - the XPK compression system
  • image - image handling and caching
  • update - YAM's automatic update feature
  • html - HTML document handling
  • spam - information about the spam filter engine
  • uidl - UIDL handling ("avoid duplicate mails")
  • hash - hash table stuff
  • print - printing of mails
  • theme - theme stuff
  • thread - thread handling
  • all - all of the above

By default only the always and startup flags are active. That means, in case you start the debug version of YAM without having the "yamdebug" ENV: variable setup it will only print minor information about the startup and shutdown of YAM. Several flags can be combined and must be separated by either a space, a comma or a semicolon. Flags can also be excluded (negated) by prepending a '!'.

The following debug classes are available:

  • @ctrace - generate a trace of all functions being entered and left
  • @report -print out report information
  • @assert - print out assertions
  • @timeval - print out timing measurements
  • @debug - print out normal debugging messages
  • @error - print out error messages
  • @warning - print out warning messages
  • @mtrack - print out memory tracking warnings
  • @tags - print out tag lists
  • @all - all of the above

By default the classes @report, @assert, @debug, @error, @warning and @mtrack are active.

Debug classes must be prepended by a '@' character as can be seen by the above list. Several classes can be combined and must be separated by either a space, a comma or a semicolon. Classes can also be excluded (negated) by prepending a '!'.

There are two special classes which influence the way the output is generated.

Adding "stdout" will output all messages to the Shell window YAM was started from (or to the automatically opened window when YAM was started from the Workbench). These messages can be redirected to a file.

Adding "file:path_to_file" will generate a file named "path_to_file" and write all debugging messages directly to this file.

Examples:

setenv yamdebug "net image !startup"

This will enable debugging of the network stuff and image handling, but anything related to the startup/shutdown process will be excluded.All debug messages will be transmitted via the serial line to a connected terminal. Optionally these can be captured with a tool like Sashimi.

setenv yamdebug all,@!all,@error,stdout

This will enable all debug flags, but only for error messages. All debug messages will be printed to the Shell window YAM was started from.

setenv yamdebug @ctrace,@error,@!assert,stdout

This will enable trace information and error messages, but no assertions

setenv yamdebug @all,file:ram:t/debuglog.txt

This will enable all debug classes. Beware: the debug log file will become HUGE!!! All debug messages will be directly written to the file "ram:t/debuglog.txt" instead of the serial line.

Debug classes and flags can even be combined on one line. That means, e.g. setenv yamdebug @all,all will enable all debug classes and flags and produce the most verbose debug log possible (really, really HUGE!!!)