Welcome back. How do we fix this "'Sendmail from not set in php dot ini" error.
We haven't determined who the email is from.
We need to do this in order to send the email.
We won't use something like a "from" parameter here.
We need to send to specific headers.
So here we create a "headers" variable which is not equal to something like "me @me.com"
What we need to do is work with the standardised mail header and that is "From:" and a colon not semi colon and then we say for example "php academy"
Or you could say something like "admin @php academy" and add ".com" if you like.
I don't actually have that domain name but we'll just keep it as that.
So "From: admin @phpacademy.com".
Inside our mail we need to add another parameter now which is "headers".
And now we come here and you can type "Alex" and here "This is a test!"
Click on "Send me this" and we face another error.
Now I am not actually running a mail server on my computer.
If you don't want to run a mail server on your computer, google for at mail free mail server and this will install a mail server on your computer just like we are doing now running on a local host.
And you will have a SMTP mail server running under local host.
Now as I don't have a mail server, I will use my university email system which is the DNS or the "Domain Name Server" of my university email
That's the way my email is sent through my university.
If you know a specific DNS Server, if you have a domain name already, if you have a website you will know it or you will be able to find it, at least.
You will be able to send an email through that.
I know that my university email DNS server is "mailhost dot shef dot ac dot uk" because I'm in Sheffield university.
So I need to incorporate this into my "php dot ini".
And the best way to do this is to come here and setup our variables
okay we need 2 - set SMTP in "php dot ini"
And instead of opening up my "php dot ini" file ,I'll just use the "ini set" function.
And the variable name is "SMTP".
So we are editing this line inside our "php dot ini" file.
And I type the mail host in there as the value.
Here we just say echo "get ini" which gets a specific value.
Next I'll say SMTP and that can just kill the script there.
So we can see how this works.
So if I say "Alex" and then "Test" and click on "Send me this".
Oh! Sorry I have typed this completely wrong. Big mistake. That is "ini get" and lets refresh that.
Okay we are basically setting our "SMTP" inside our "ini" file to "mail host dot shef dot ac dot uk".
And then we will echo out the value of this.
So this just tells me that that is set to "mail host dot shef dot ac dot uk".
Presuming this mail host server or DNS server works, then the rest of the code will work.
After sending our mail I'll just kill the page.
Um.... no I won't . I'll just kill the page.
Lets go back and say "Alex" and "This is a test".
Just checking that everything is okay. We've got my "to", my "subject", my "headers" saying "From:admin@phpacademy.com".
And our body in here and we are executing our mail function.
So when I click "Send me this", nothing happens. We've got no errors so we can presume that everything has worked.
If I come into my hotmail or my email and click on my INBOX, you can see that we've now got a mail from "admin @ phpacademy dot com".
If we click on it, we have "Email from PHPAcademy" as our subject line that we had set here.
And we have the email address that I specified from.
You can put this as from Alex or from phpacademy.
And then we have "This is an email from Alex" which is the name we gave inside the form here.
And then we have 2 line breaks which are present - 1 and 2
And "This is a test" which is the text I put in there.
So that's a mail function by using my university's DNS mail server.
Your INSP will have a DNS mail server.
It may require authentication on which I will be completing the tutorial soon.
So if this doesn't work for you watch that tutorial or just drop me an email or contact me through my youtube.
OK so I hope that was useful to a lot of people.
Please subscribe if you haven't already.
Alright, thanks for watching. This is Evan Varkey dubbing for the Spoken Tutorial Project. Bye bye.