Looks to me like it will be easier to download iphpMailer to my pc first, then unzip it, then upload the directory to my server on the virtual server that I want it to be on using smartftp ( thats what I usually use ).
“easier” is clearly in the eye of the beholder here. That sounds really complicated, to me. (Also error prone…If you do stuff on your Windows system, you’re likely to end up with DOS line endings, which may or may not break things on Linux. So, to be safe, you’d want to also run dos2unix on all of the files after uploading them.)
Have you looked at the Webmin Upload and Download module?
wget is my favorite method of downloading this to remote systems (I also very frequently use is on my local machine when I already have a shell opened in the location I want the file), but it does require you to use the command line.
Are these three just similar methods of doing the same thing ?
I dunno. They certainly could be. There are all sorts of ways to send mail, and I wouldn’t be even a little surprised in the least if there are three similar libraries for PHP (there are certainly dozens for Perl and Python).
Then there is Sendmail.
I think sendmail is a server program like postfix - is that right ?
sendmail means two different things. There is “Sendmail” the MTA, which is like Postfix. There is also the “sendmail” command, which comes in either the Sendmail package or the Postfix package. The sendmail command is simply a mail injector that knows how to inject mail into the queue of the MTA in question. They are pretty much identical from a user perspective; if you run the “sendmail” command on a Postfix system it will behave exactly the same as if you run the “sendmail” command on a Sendmail system. What happens behind the scenes is different, but you don’t need to care about that, at all.
And does the mail() command send the email out using the server program ( sendmail or postfix ) ?
"mail()" would be a function, not a command. (Though there is a "mail" command on most UNIX and Linux systems that is also capable of sending mail.)
I would imagine that the method the mail() function uses to send is configurable.
I think you’re fretting way too much about the minutiae of the underlying mail server here. Don’t think about the mail server. Just use whatever library you’re comfortable with, configure it to send using the SMTP server on localhost (no authentication required for a local sender), and forget about everything else. The underlying stuff (like whether it’s Postfix or Sendmail) doesn’t matter; they all speak the same protocol.