I've got a list of emails that got corrupted by some robots. On my webpage I have a box "sign in to our newsletter" that got abused with fake adresses and now I can't make up the good adresses from the fake adresses.
I would like to write a small script that check the existence of all the adresses one by one preferably without sending an email. The list isn't that long (about 300 email).
Can I do this without breaking anti-spam rules? I know that I should send an email with a link for people to verify their email but I don't really want to do this as the people with real adresses have already opted in my newsletter and they are going to wonder why I ask them to do it again.
I would ideally do this with python as this is my scripting language of choice.
Any solution to this?
I'm not sure how to do it yourself, however, there are services for this. I use Kickbox. I typically use nodejs for the server, but they have a python library Kickbox-python. You can do 100 verifications a day for free, or pay for more. I use it to verify emails when users initially sign up.
EDIT: The kickbox pricing model has changed. Now you get 100 initial verifications free, and pay for any additional verifications after that threshold. Refer to the site for the current pricing plans.
Related
We are currently developing a python program that as part of its functionality sends noreply E-Mails to customers whenever something important happens. For testing we are sending them from a free noreply#gmail.com address using pythons smtplib library and that works without problems so far.
However when going live we want to change the address to a proper noreply#company.com address. We are already using Google workspaces and have user accounts with company E-Mails. But while reading up on how to get that to work I came across multiple guides and articles which were either confusing, outdated or don't really do what I was hoping for. So I have a few questions that I hope you could answer.
Do I have to create a new user account just for the noreply mails? I have read about aliases and groups but I am not sure that this is the right way to do it since the mails shouldn't be sent from a renamed existing user account. I'd rather not set up a user just for sending E-Mails.
How many mails can I send when it is all set up? Free accounts can send 500 daily, workspace users have 2000, up to 10000 with smtp relay (if that's possible)? If the program ever exceeds this limit is there any way to increase it or should I already look for an alternative.
Finally how do I set this up? Most guides are for the old Gsuite. I feel like there should be an easy way to set this up that I am missing. All I'm looking for is creating a generic noreply#company.com address for our project to programmatically send a higher amount of mails.
Thanks for the help.
Here are the notes for my program, which I use to outline what exactly I want the program to do:
Go to specific links at specific times. Ex. Go to Facebook at 12pm.
Login with username.
(OPTIONAL) Send alert to phone about each time logged in.
Only thing is, I'm relatively new in programming so I need a little help knowing where to start on creating this.
I would use selenium if I were you. It allows you to automate web browser tasks, such as going to a site and logging in and such. You could keep a dictionary of sites, times, and usernames and use those accordingly. Sending an alert to your phone could be done in a number of ways. You could send an email using SMTP, a built-in python library, that would probably be the best method of communicating with other devices simply.
In Django, during site register, input to the EmailField is validated by class EmailValidator: Link to the code.
However, this validation looks a little bit lengthy and source consuming to me. After so much checking it is still probable for a validated email address to not be in use.
Don't you think it would be much better if email-validation-by-code was totally skipped and authentication was dependent only on the activation link in terms of server resources and time. This would also provide more genuine signups/registers on the website.
Almost all webpages today send the user an activation link. It is almost inevitable for servers not to use computational power on sending emails anyway.
Is there anything that I miss about validating-by-code? Or are there any situations that activation link method would not work? What is the reason Django chose it that way? Thank you.
I think it's important to distinguish. There should be a technical check of validating if the format of an email address is correct or not. That's important to prevent technical hickups or even traffic in the very beginning. It's always great to stop as soon as possible if it's already clear in the beginning that an email is not valid.
The second thing is that you want to check wether an email address is really existent or just technically possible/in the correct format.
So in general: Yes you can validate an email address by just trying to send one validation email to your customers but that very brute forcy and you should avoid it because following technical services may experience problems.
I will describe this. “IVM” stands for Intelligent Vacancy Manager which is our system. We are going to use MySQL database and we are going to store extracted data from CVs. It is a web-based application. Let’s say you’re the company.
When a company registers to the system, the company can upload their job vacancies to the system. So what the system does is it matches the CVs which is in a database that uploaded by Jobseekers. What I want to do is, when sending the Cvs to the companies, I want to use data anonymization. As just a part of the name, Hidden NIC, Address and Telephone Number is enough. I have to use python for that. What I feel is the database is just there with normal data (without anonymized). I feel is when sending the CVs to the company, in the middle my python script for anonymization should execute. So it doesn’t affect the database. Because when the company pay us and request the original CV, we can just execute the normal query to send the original Cv without hiding data.
I want my python script to do, when suggesting CVs, just affect the Name, NIC, Address, Telephone number.
Apart from that, I am asked to use the Kerberos authentication protocol to authorize users to the system.
I hope now you have somewhat knowledge of what I am going to do. if you have any idea on this thing please guide me and I would really grateful to you. I will be waiting for a reply soo :)
I have to do this as my university project. So I would like to hear all your suggestions.
I've built an internal company website using Django. I have a view that sends an email to the users of the website using the send_mail() function.
Some users were not receiving emails from the site, and we fount that if they have configured Outlook to High junk-email protection level, the emails from the website are flagged as spam.
Are there any coding techniques for making an email sent from Python appear legitimate to Outlook and other email clients?
This is not really Django related problem but more about what and how you send emails, there are lots of great articles and blog posts about this topic, this is one of my favorite:
http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html
Of course you can always take a different direction and let someone else do the job for you, this will work almost certainly better that running your own smtp server. You are going to have nice stuff like stats (things like bounces, hard bounces, spam, blocks...) higher deliverabilty ...
This come with a price which in my experience will be less than the time your are going to spend to let the things run properly :)
Just to name one of those I had direct experience using MailJet with Django to handle quite big email sending (few millions per week) and it works great.
What worked for me was a simple thing that was missing. I added a "text_content" argument
(2nd from left) which was left blank before.
Also I added some text in the template in paragraph form .
msg = EmailMultiAlternatives(
subject, "Please find details of Candidate in this mail",
request.user.email,
[round_taker.email])
I know this sounds NOT so technical. But it might work for some people.