I found that my mail server would not accept an admin e-mail address on another server. It was rejecting a from address which was on another mail server.
I changed the administrator e-mail address in the user profile and the setting in site administration/server/support contact (this does not change automatically if the admin e-mail address is changed - presumably for those who have a separate support contact).
I also left the smtphosts entry blank in site administration/plug-ins/message outputs/email.
I think I could have managed with just the support contact, but for our site the two go together.
Mail is working well now.