PHPmailer send e-mail only sometimes - phpmailer

Im using PHPmailer to send email if user enter his e-mail. But sometimes (1/2 of emails) i get an error:
2013-10-15 11:12:39 SERVER -> CLIENT: 555 sorry, too many emails (#5.7.1)
2013-10-15 11:12:39 SMTP ERROR: Password command failed: 555 sorry, too many emails (#5.7.1)
2013-10-15 11:12:39 CLIENT -> SERVER: QUIT
2013-10-15 11:12:39 SERVER -> CLIENT:
2013-10-15 11:12:39 SMTP ERROR: QUIT command failed:
SMTP connect() failed.

In one of my project I also experienced this error. You reached the limit of emails you're allowed to send for this mailserver (preventing its usage as spam server). You could implement a queue to spread sending the mails over a given time or you could try to find another mail server. Mail servers of Internet Providers usually have good sending rates.

Related

throws SMTP error while sending an email in Lotus Notes

I'm trying to send the email from Notes which are of different domain mails. While sending an email i'm recieving an error "Error transfering to mail.target-domain.com; SMTP Protocol Returned a Permanent Error 554 5.7.1 <mail.my-domain.com: Access denied"
The configuration and the code level scripts are good and i don't see any error in code. Sometimes the mail send successfully, sometimes it throws such kind of error, sometimes if we retry to send email it sends.
I don't know where it throws an error
How to resolve this and why does this error appears?
It is not related to your script, it's a security configured in the server.
You have to work with your admin to understand if the security is triggered because of the FROM/sender address, the recipient address, your IP, or more probably the combo of sendername/recipient , or the SMTP relaying from some IP to some other IP.
Also, if your script is in an agent, the sender address is often forged by the agent/server, and is not a valid one.

PHPMailer not catching SMTP errors

I am using PHPMailer to connect to a remote smtp server running Exim.
In my exim logs, I can see that the sending failed, but PHPMailer does not catch an exception and it seems like the SMTP server is returning an "Ok" status.
Here is the excerpt from my exim log:
2019-06-27 17:03:00 1hgbXj-0000O5-Vl == *******#gmail.com R=dnslookup T=remote_smtp defer (-44) H=alt4.gmail-smtp-in.l.google.com [108.177.119.27]: SMTP error from remote mail server after RCPT TO:<********#gmail.com>: 452-4.2.2 The email account that you tried to reach is over quota. Please direct\n452-4.2.2 the recipient to\n452 4.2.2 https://support.google.com/mail/?p=OverQuotaTemp **** - gsmtp
And here is the (end of the) PHPMailer debug output:
SERVER -> CLIENT: 250 OK id=1hgbf8-0008CL-15
CLIENT -> SERVER: RSET
SERVER -> CLIENT: 250 Reset OK
Done #0.0734977722168s
CLIENT -> SERVER: QUIT
Any way I can see this error in PHP so that I can log the error in my application?
This is nothing to do with PHPMailer. The PHPMailer debug output shows a successful delivery to your exim server. That's where its involvement ends - at no point does PHPMailer talk to gmail, and so never sees this response.
Exim (as intended) then goes on to try to deliver the message, but receives a failure notice from gmail. What you should then see in your logs is an attempt by exim to bounce the message to the return path, which is set by your mail server from the SMTP envelope sender used to submit the original message. You can control this address by setting the Sender property in PHPMailer, though it defaults to your from address, which is what you'd usually want.
If you want to hear about these bounces in your code instead of your mailbox, you need to get exim to pipe them to a script rather than a mailbox, and this is something that exim is quite happy to do.
Bounce handling is not a pleasant thing to write, but you may find that using VERP addressing helps.

Oracle error on linux server when sending emails using sendmail

The ORACLE application is trying to send email using send mail running on a REDHAT LINUX server and the following error comes up, I don't have access to the code being a LINUX ADMIN and the application team sits on a remote location, just want to know what this error means exactly.
> ORA-29279: SMTP permanent error: 503 5.0.0 Need RCPT (recipient)
When I check the mail Log files around the same time, I see the line below, kindly guide me through to solve this issue.
sendmail[1812]: r6P80BgT001812: lost input channel from localhost.localdomain [127.0.0.1] to Daemon0 after data

SMTP to SMTP protocol

I am trying to write a fake SMTP server in nodejs, I just need use it to send notify email, but not receive email.
I have taken a look at node-smtp, but it just implements the protocol from client to SMTP server, it does not implement how to send mail from a SMTP server to another SMTP server.
If I know how one SMTP server send mail to another SMTP server, I think I can send mail without a SMTP server.
but it just implements the protocol from client to SMTP server, it does not implement how to send mail from a SMTP server to another SMTP server.
An SMTP server that can send mail also acts as an SMTP client. Not that you're trying to write an SMTP server anyway:
I just need use it to send notify email, but not receive email.
aka
I just need to write an SMTP client
Well in short it works this way: server-sender reads domain of recipient and is checking DNS for MX record for that domain (you can read it like - "hey DNS tell me please which server holds mails for that domain). Then it connects to remote SMTP and gives the messaage.
The dialogue could look like this:
client: HELLO server
server: 250 hello client, nice to meet you
client: MAIL FROM: tmg
server: 250 ok
client: RCPT TO: guilin
server: 250 ok
client: data
server: 354 Enter message, ending with "." on a line by itself
client: From: tmg
client: To: guilin
client: Subject: just a mail
client:
client: message body
client: .
server: 250 ok
client: quit
server: good bye
Did you look at Marak's node_mailer?
https://github.com/Marak/node_mailer
I have a fork of it, and another one, on my github site, for gmail smtp support
http://github.com/deitch
I use https://github.com/andris9/simplesmtp, it is actually a framework for creating SMTP servers/clients, however it is quite a good fit for testing.
There is also https://github.com/deitch/smtp-tester specially designed for testing, however I haven't used it.

Problem in sending external mails in James Mail Server

I am new to James Mail Server. I configured as the steps mentioned by James.
I can send send mails to internal network, but I am not able to send mails to external network like gmail.
Somebody please help me to resolve the issue
Thanks in advance
Rohith
Sorry for the late but it may help some people in the future.
If you want configure JAMES to send mails to external network you must edit the file conf.xml in the ${JAMES_DIR}/apps/james/SAR-INF.
Uncommented these line to define an SMTP relay server if necessary through the gateway:
<processor name="transport">
<mailet match="All" class="RemoteDelivery">
...
<gateway> smtp.gmail.com </gateway>
<gatewayPort>25</gatewayPort>
</mailet>
</processor>
Example to use the gmail relay server:
POP Server: pop.gmail.com (on activation of the POP option of GMail)
SMTP Server: smtp.gmail.com
IMAP Server: imap.gmail.com
EDIT: gmail requires an authentication so you must set the gatewayusername and the gatewayPassword markups:
<gatewayusername>login</gatewayusername>
<gatewayPassword>pass</gatewayPassword>
See http://mail.google.com/support/bin/answer.py?answer=10350

Resources