This only took me about about 4 weeks to resolve. Hopefully anyone trying to use Fastmail.com's SMTP server will be saved time with the following:
1) create a special login account on fastmail.com to isolate sessions with the SMTP server
you will get a hard-to-read-remember password generated by fastmail.com. You'll use this later below in
the configuration settings for phpBB
2) (Optional) Test connecting through a console:
Encrypt your account name and password, you'll need these encrypted values to conduct a console session below Example:
perl -MMIME::Base64 -e 'print encode_base64("johnsmith\@fastmail.com");'
perl -MMIME::Base64 -e 'print encode_base64("[the password generated from fastmail.com site above]");'
Perform these inputs when prompted:
openssl s_client -connect smtp.fastmail.com:465
[You'll get a lot of screen output followed by: 220 smtp.fastmail.com ESMTP ready]
EHLO smtp.fastmail.com
AUTH LOGIN
[fastmail will respond with: 334 VXNlcm5hbWU6 which is asking for username:]
[enter your encrypted account name from above]
[fastmail will respond with: 334 UGFzc3dvcmQ6 which is asking for password:]
[enter your encrypted password from above]
You should then see this response:
235 2.0.0 OK
You have successfully logged in. Now quit.
quit
3) Configuring phpBBS:
In the administrative console, go to GENERAL->email settings [left column]
Under "SMTP settings" section:
Use SMTP server for email: Yes
SMTP server address: ssl://smtp.fastmail.com
SMTP server port: 465
Authentication method for SMTP: DIGEST-MD5
SMTP username:
[email protected]
SMTP password: [use the generated passwords from fastmail.com's interface for a special login account, see above]
Verify SSL certificate: NO [Could be Yes?]
Verify SMTP peer name: NO [Could be Yes?]
Allow self-signed SSL certificates: NO [Could be Yes?]
Notes:
1) fastmail.com required a valid certificate, self-signed will not suffice. See
https://letsencrypt.org/
2) phpBB caches the settings for username and password, so you do not have to re-enter them every time you make a change to another setting, e.g. SMTP server port. What is displayed in the fields on a refresh are values which are not saved unless you alter them. Quirky interface design.