Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to hide sender email address using phpmailer?

Tags:

php

I am using phpmailer to send email. I need to know how to hide or mask sender email address

like image 457
Mohan Ram Avatar asked Dec 01 '22 04:12

Mohan Ram


2 Answers

You can specify any sender email address anyway, since SMTP by itself does not place any requirements on sender email addresses.

If the actual SMTP server you use places restrictions on email addresses (e.g. corporate servers which do not allow sender emails outside of the company domain) there's no way around that, unless of course you can influence the mail server configuration.

Update: You say in a comment that you want to use gmail to send email where the sender's address is not a gmail address. There is no way to do that.

like image 191
Jon Avatar answered Dec 09 '22 12:12

Jon


This is a rare situation you have here... if you do not have a mail server you can still tell PHPMailer to send from a different address just set the From attribute of the PHPMailer object to the address you want. But Wait! if your server doesn't exists, the client can't verify the account and then your mail will more likely be deleted (moved to spam in the more benevolent scenario). If you are trying to mimic third party mail, I'll help you no futher.

Note: Your mail server may be valid but clients are still unable to verify it, and thus you are getting mails delivered to spam or deleted. Check "Must Read" to below to have some inside on how to solve this.

On the other hand, if you already have a mail server, then tell PHPMailer you want to use it, set the Host and Port attributes to your domain name and port respectively. The same if you want to use an account form a different server, remember to set the attributes Username and Password correctly, you may also need to set SMTPAuth = true; and SMTPSecure = 'ssl'; depending on the server. [Note: Username and From may differ]


Now, if you want to use an account from Gmail, you could easily set an alias in Gmail to send as another account [Go to Settings-> Accounts And Import -> Send mail as -> (click) Send Mail From Another Address], that can be the case if you have a mail server but you cannot afford to have it online, you will need to start your server so you can receive the confirmation code Gmail generates to verify your account. Check recommended read for PHP side configuration details.


Lastly if for some rare circunstancies you can't tell PHPMailer to use your mail server, but you do in fact have one, and that one is able to recieve the mail... you can use AddReplyTo('[email protected]', 'My Name'); Most clients will understand that any reply to the message must be (unless explicitly defined by the user) directed to "[email protected]" in this case.

Disclaimer: I take no responsibility of any harm result of the use of the method I mention here, such as (but not limited to) your mail account getting banned.

Must read: Coding Horror on sending mail via code

Recommended read: PHPMailer Tutorial (old version)

No need (neither a good way) to hide or mask whatsoever.

like image 37
Theraot Avatar answered Dec 09 '22 10:12

Theraot