How do I send html email from Perl?

last updated in Categories , , , , , , , ,

Q. How Can I send html email from cgi perl program under UNIX / Linux and Apache web sever?

A. Sending HTML email is an easy task with MIME::Lite CPAN module. It is a low-calorie MIME generator.

It can be use to send html emails, graphics file email attachments as a single-part or multi-part message. Here is simple perl script that sends html email.

Install Perl MIME::Lite

If you do not have MIME::Lite module, install using following command (login as a root user):

# cpan -i MIME::Lite

Perl script code

Script to send html email from perl:

#!/usr/bin/perl -w use strict; use MIME::Lite; # SendTo email id my $email = 'user@somewhere.com'; # create a new MIME Lite based email my $msg = MIME::Lite->new ( Subject => "HTML email test", From => 'YOU@somewhere.com', To => $email, Type => 'text/html', Data => '<H1>Hello</H1><br>This is a test email. Please visit our site <a href="http://cyberciti.biz/">online</a><hr>' ); $msg->send();

Save the script and execute it. Here is an email (sample) send by above script:

Read man page of MIME::Lite for more information:

perldoc MIME::Lite

How do I find the url for my cgi-bin?

last updated in Categories , ,

The CGI is acronym for Common Gateway Interface. It is a standard for interfacing external applications with Apache Web servers. A CGI program is executed in real-time, so that it can output dynamic information. It can be written in Perl, Php, Bash, C/C++ or other programming languages. But how do I find the url for my cgi-bin? It’s not in my /var/www/ directory.
Apache web server use ScriptAlias directive defines cgi-bin directory that contain server scripts. You can use open Apache web server configuration file using text editor such as vi and look for ScriptAlias directive:

httpd.conf file location:
Debian Linux:

$ vi /etc/apache-perl/httpd.conf

Red Hat/ Fedora Core Linux:

$ vi  /etc/httpd/conf/httpd.conf

FreeBSD:

$ vi  /usr/local/etc/httpd.conf

You can also use grep command as follows to find out your cgi-bin directory:

$ grep 'ScriptAlias'  /etc/httpd/conf/httpd.conf
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

/usr/lib/cgi-bin/ is cgi-bin directory. If you have public_htm directory then cgi-bin directory should be inside this directory. Once you located cgi-bin directory you can use it.

Default cgi-bin directory locations:

  • Red Hat Linux: /var/www/cgi-bin/
  • Fedora Linux: /var/www/cgi-bin/
  • Debian Linux: /usr/lib/cgi-bin/
  • FreeBSD: /usr/local/www/cgi-bin/

Finally your url location depends upon directory location. You can use http://ip-address/cgi-bin or http://ip-address/~yourname/cgi-bin (replace ip-address with your domain name)

What is MySQL?

last updated in Categories , , , , , , ,

MySQL is open source database server. It is reliable and widely used by web developers around the world. You can use PHP or Perl scripting to access a MySQL database. However, thousands of ready to use application available for MySQL, here is list of some of the most popular application (written in PHP [PHP (Hypertext Preprocessor) is a widely used, general-purpose scripting language that is especially suited for web development and can be embedded into HTML]):

Once you are, experienced user, you may also use MySQL to create dynamic web pages or software(s) for yourself. For more information see: