Both let mail sent to one address arrive somewhere else, and they are not the same thing. The difference decides whether the message keeps working when the sender has SPF and DMARC set up - which is now almost everybody.
An alias
sales@yourdomain.com delivers into the info@yourdomain.com mailbox on your own server. No new message is sent, nothing leaves, nothing can fail. Free, unlimited, and the right tool for department addresses.
A forwarder
sales@yourdomain.com receives the message and your server then sends it on to a Gmail address. Your server is now the sender of a message written by somebody else, and that is what breaks.
Making forwarding work
- SRS - rewrite the envelope sender so SPF is checked against your domain rather than theirs. Most mail servers support it; it usually just needs enabling.
- Do not alter the message - no footer, no subject tag. A change breaks the DKIM signature, which was the last thing keeping it authenticated.
- Better: fetch instead of forward. Let the mailbox stay on your server and pull it into Gmail with its own IMAP import - nothing is re-sent, so nothing fails.
# postfix\nsender_canonical_maps = tcp:127.0.0.1:10001\nsender_canonical_classes = envelope_sender\nrecipient_canonical_maps = tcp:127.0.0.1:10002
And keep a copy
A forwarder that only forwards leaves you no record. If the destination bounces, the message is gone. Deliver locally AND forward, so there is always a copy on your own server.
If forwarded mail is being marked as spam, the checks are in SPF, DKIM and DMARC failures.