When sending emails, you choose which "personality" you want to use when sending. A personality is just a way to group together a common set of sending options:
- A From address and full name to use
- A Sent Items folder to store a copy of the sent mail in
- A signature to append to the email
- Any other addresses to automatically send a copy of the email to (e.g. Bcc)
- What address the receiving party should reply to if different than the From address
- ... and several other items described in more detail below.
Personalities are useful if you use multiple different email addresses to sort your email (eg a home email address, a work email address, addresses for mailing lists, etc).
Each personality has a number of options associated with it which are described below.
The personality display name is for your reference and is what appears in the popup menu on the compose screen. It does not appear in any sent emails in any way.
The name and email address the email will appear to come from. This is what appears in the "From:" header of sent emails which is what email clients show as the from address of an email.
The compose screen allows you to send SMS's to other people as well as emails. When you send an SMS, the originator phone number that appears on the SMS will be determined by the number you have set on the personality you use.
Emails support the concept of a "Reply-To:" header. If this value is set, then when a recipient replies to an email, it should go to the specific Reply-To address rather than the From address. Leave this blank unless you explicitly want email replies to go to a different address.
Each email actually has two separate "from" addresses, the From: header that email clients show, and the SMTP MAIL FROM envelope address. Normally these addresses are the same, but they can be different. The SMTP MAIL FROM address is where error notifications (eg bounced emails) go. You should normally leave this blank. See the SPF section below for why you might want to set this.
Personalities only control what addresses you can send from on the web interface compose screen. When you use an external email client to send emails via SMTP, the email sent and the from address used is controlled entirely by the email software.
However using these two checkboxes, you can control some aspects of sending via SMTP. If you send an email via an external email program (which means it uses SMTP), if the From address on the email matches the From address of a personality, then you can control if that email is also Bcc'd to the other people listed in the personalitys Bcc address list, or saved to the personalitys Sent Items folder.
Note that you can use some values to match email addresses. If you put a '*' in the email address on either side of the @, then it will match anything. For instance, *@fastmail.fm will match any @fastmail.fm email address you send with. If you have a personality with a specific email address that matches a From address, that will take precedence, * matches will only occur as a fallback. Also note that it's not meaningful to use personalities which have a * in the email address to send from the web interface, you'll probably just end up with a bounced email. The * feature is only to support the SMTP Bcc/Sent Items feature.
The Sent Items option can be particularly useful in a couple of different cases.
- Most IMAP email clients support uploading messages to a Sent Items folder, but because SMTP and IMAP are separate, this means uploading the exact same message twice, once to send via SMTP, and once to upload to the Sent Items folder. By using an appropriate personality and checking the "Sent Items on SMTP" checkbox, this will result in the email being saved to the Sent Items folder but only being uploaded once, saving time and bandwidth.
- Some clients are buggy with regard to uploading to the Sent Items folder, Thunderbird being known to have intermittent problems. Using the personality approach should be more reliable.
- If you use POP instead of IMAP, then there is generally no way to upload the email to the Sent Items folder on the server.
The "SMTP force From" feature is available for the default personality. If enabled, it means that any email sent via SMTP will have it's From address and SMTP MAIL FROM envelope overridden with the values from the default personality, regardless of what the email client set. This is useful in a few very specific instances.
Normally when you send email, the email will be queued by the FastMail.FM server. From there, we find the appropriate server for each recipient of the email, and forward it on to that server directly.
However in some cases, you actually want to send the email via another server using authenticated SMTP, such as your ISPs email server. This is especially useful if you have a corporate email server that requires SMTP authentiaction to send to particular internal mailing lists, or you want to avoid SPF issues (see below).
Using the External server/username/password options, you can send email via an external server with SMTP AUTH. By default, we will try and send via port 587, the standard SMTP submission port. If the remote server advertises STARTTLS support, we will try and switch to TLS on the connection. If you want to use a different port, you can append :port-number to the server name. Unfortunately straight SSL over SMTP (port 465) is NOT currently supported.
If you're having problems with this feature, you should know there's currently a one hour queue time for external SMTP authenticated emails, so if the remote server returns a 4xx "temporary" error, then it will take 1 hour before there's a bounce error generated for you to see. Also note that the bounce will be sent to the SMTP MAIL FROM envelope address, so you need to make sure you check at the appropriate server for the bounce email.
SPF was an attempt to reduce spam by stopping people forging the domain in the SMTP MAIL FROM envelope of sent email.
Unfortunately SPF has not reduced spam at all because: a) no user ever sees the SMTP MAIL FROM envelope, so it doesn't stop spammers forging the From: header users see in emails b) anyone can setup SPF on any domain they own, and SPF doesn't tell you which domains to actually trust
So whether the SPF checks pass or fail has little correlation with whether a message is spam or not. We can see this in the SpamAssassin scores, which show that SPF failures have quite a low score.
score SPF_PASS -0.001 score SPF_FAIL 0 0.919 0 0.001 # n=0 n=2 score SPF_NEUTRAL 0 0.652 0 0.779 # n=0 n=2 score SPF_SOFTFAIL 0 0.972 0 0.665 # n=0 n=2
Additionally SPF breaks the simple forwarding of emails between systems, and requires a separate system called SRS to rewrite the SMTP MAIL FROM envelope and to forward bounces back through the forwarding system.
Despite that, some systems treat SPF failures as a sign of spaminess, so you may want to make sure your sent emails avoid failing SPF tests. So if your sending email with a From address that's not a FastMail.FM domain, or a domain with specific SPF records that don't authorise our servers, there's two main ways of working around this issue:
-
Make sure you set the SMTP MAIL FROM envelope to an address in a domain
that does have specific SPF records that authorise our servers.
For example, if you're sending email with an @yahoo.com From address, make sure you set the SMTP MAIL FROM envelope to your FastMail.FM email address.
-
Send via the correct external SMTP server using the appropriate username
and password you have on that server.
For example, if you're sending email with an @gmail.com From address, make sure you set the SMTP server to smtp.gmail.com, and enter your gmail username and password, so email if forwarded via the gmail SMTP server.
If you're using advanced filtering rules and your own custom sieve script, then you need to be aware that some personality features work by inserting extra sieve rules. Because of this when you use a custom script, you need to copy those rules into your custom sieve code.
If when you 'Save changes' to your sieve script you see the message:
Generated script has been commented and appended to your custom sieve script, which you have previously modified by hand.
This means that you must manually copy these commented Sieve additions from the bottom of your custom script to the start of your script (directly after the require statement). If you don't manually copy this code and have a custom Sieve script, then the Personality filing feature will not work, and the messages will be filed into your Inbox.