?
Solved

perl, firefox, ie, send email with html format

Posted on 2008-06-17
40
Medium Priority
?
956 Views
Last Modified: 2010-08-05
hello,

i have a perl script that send an email after a from submission.

the email is received with plain text.

i would like to apply html tags to the body of the email and i would like to see if someone can help me implement the mime::lite module to my current script if not much to ask for.

i am pasting the code below, it is really small.
#!/usr/bin/perl -w
 
use Net::SMTP;
use CGI;
 
my $cgi = new CGI;
 
sub send_mail 
 
{
	my $to = $_[0];
	my $subject = $_[1];
	my $body = $_[2];
 	my $from = $_[3];
 
	my $smtp;
 
if (not $smtp = Net::SMTP->new('mail.server.com', Port => 25, Debug => 1)) 
{
	die "Could not connect to server\n";
}
 
$smtp->mail($from . "\n");
 
my @recepients = split(/,/, $to);
 
foreach my $recp (@recepients) 
{
	$smtp->to($recp . "\n");
}
 
$smtp->data();
$smtp->datasend("From: " . $from . "\n");
$smtp->datasend("To: " . $to . "\n");
$smtp->datasend("Subject: " . $subject . "\n");
$smtp->datasend("\n");
 
$smtp->datasend($body . "\n");
$smtp->dataend();
$smtp->quit;
}
# Send away!
&send_mail($cgi->param('to'), $cgi->param('subject'), $cgi->param('body'), $cgi->param('from'));
 
print $cgi->header;
print '<html><body>Your e-mail has been sent</body></html>';

Open in new window

0
Comment
Question by:itortu
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 23
  • 16
40 Comments
 
LVL 48

Accepted Solution

by:
Tintin earned 1600 total points
ID: 21807842

#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
use MIME::Lite;
 
my $q = new CGI;
my %p = $q->Vars;
 
print $q->header;
 
my $msg = MIME::Lite->new (
        From    => $p{'from'},
        To      => $p{'to'},
        Subject => $p{'subject'},
        Type    => 'text/html',
        Data    => $p{'body'}
);
 
MIME::Lite->send('smtp','mail.server.com');
$msg->send or die "Can not send mail $!\n";
 
print '<html><body>Your e-mail has been sent</body></html>';

Open in new window

0
 

Author Comment

by:itortu
ID: 21810684
well, i pasted your script just changing this part

mail.server.com to actual  mail server

i get error:
Can't locate MIME/Lite.pm in @INC (@INC contains: C:/usr/site/lib C:/usr/lib .) at C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/mime.pl line 5

would you be able to help me get through this error please?

0
 
LVL 48

Expert Comment

by:Tintin
ID: 21811028
You need to install MIME::Lite first in order to use it.

I'm assuming you are using ActivePerl?  If so, go into the Perl Package Manager and type

install MIME::Lite

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 48

Expert Comment

by:Tintin
ID: 21811030
Slight correction, I think you need to type

install MIME-Lite

0
 

Author Comment

by:itortu
ID: 21813191
i am using active perl 5.10.0 build 1003

when i open de perl package manager i seea list of all modules currently installed.

i also see this message:
failed 500 Can't connect to ppm4.activestate.com:80

and i am not able to search or install for any modules

i am using repository ppm4.activestate.com:80

do you know if i can add any other repository and if you do, would you be able to give me the names so i can add them?

than you very much

i am increasing the points because i am making this question longer with the additional problems i ran into.
0
 

Author Comment

by:itortu
ID: 21814201
i am having trouble tryiung to install the MIME-Lite module, is there any way that we can do this using a module that is already instaleld such as Net::SMTP?
0
 

Author Comment

by:itortu
ID: 21814209
i just need the email sent to be in html format.
0
 

Author Comment

by:itortu
ID: 21814311
i take that back, i finally got MIME-Lite installed I was having firewall problems.


I am getting the email now.

one thing...how can I apply the html tags to the body of the email?

when i submitt the html form then i get "Your email has been sent"

and on the address bar i see" http://localhost:81/cgi-bin/mim.pl

is there a way that I can display a success html page instead that the script text generated?


than you very much
0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1600 total points
ID: 21816585
You can do a redirect to a success page, eg:

#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
use MIME::Lite;
 
my $q = new CGI;
my %p = $q->Vars;
 
my $msg = MIME::Lite->new (
        From    => $p{'from'},
        To      => $p{'to'},
        Subject => $p{'subject'},
        Type    => 'text/html',
        Data    => $p{'body'}
);
 
MIME::Lite->send('smtp','mail.server.com');
$msg->send or die "Can not send mail $!\n";
 
print $q->redirect('http://example.com/success.html');

Open in new window

0
 

Author Comment

by:itortu
ID: 21816766
i understand, i am going to try that redirect function.

still, how can i make the body of the email have some html apply to it?

in the sample script we use only a few fields such as 'from' 'to' 'subject', etc

what would be the case if as part of the body i want to use something like:

e.g.


label                          parameter name

name:                        'name'

email                          'email'


thank you much.
0
 

Author Comment

by:itortu
ID: 21816787
by the way, i truly appreciate your help. i am making tremendous advances with your code and instructions.

thank you!
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21816874
So long as the Data is HTML, it will be sent as HTML mail.
0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1600 total points
ID: 21816896
Perhaps an example might help
my $body = <<EOF;
<html>
..
<table>
<tr><td>Name</td><td>$p{'name'}</td>
</table>
</html>
EOF
 
my $msg = MIME::Lite->new (
        From    => $p{'from'},
        To      => $p{'to'},
        Subject => $p{'subject'},
        Type    => 'text/html',
        Data    => $body
);

Open in new window

0
 

Author Comment

by:itortu
ID: 21817440
wow you are very good man :-)
I have used your code basically just copying and pasting and changing just field names and paths and it works at the first time, that is impressive to me at least.

i can see the success page, and the email i get it is nicely formatted as i needed to be.

one little thing still remains, and this is my fault because i did not think of it...

on the success page, how can the values submitted can be passed so they are displayed to the user?
0
 

Author Comment

by:itortu
ID: 21817461
attached there is the script as it looks currently...
#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
use MIME::Lite;
 
my $q = new CGI;
my %p = $q->Vars;
 
my $body = <<EOF;
<html>
	<head><meta http-equiv=content-type content=\"text/html; charset=UTF-8\">
		<style>
			.label{font-size:12px; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
			.header{font-size:12px; font-weight: bold; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
		</style>
	</head>
	<body>
		<table border=0 width=600>
			<tr>
				<td width=300>
					<table>
						<tr><td class='label'>Passenger:</td></tr>
						<tr><td class='label'>Date:</td></tr>
						<tr><td class='label'>Flight:</td></tr>
						<tr><td class='label'>Cancelled By:</td></tr>
						<tr><td class='label'>Employee Number:</td></tr>
						<tr><td class='label'>E-Mail:</td></tr>
					</table>	
				</td>
				<td width=300>
					<table>
			   	   <tr><td class='label'>$p{'Passenger_Name'}</td></tr>
             <tr><td class='label'>$p{'Date_of_Reservation'}</td></tr>
             <tr><td class='label'>$p{'rb_flight'}</td></tr>
             <tr><td class='label'>$p{'Cancelled_By'}</td></tr>
						 <tr><td class='label'>$p{'Employee_Number'}</td></tr>
						 <tr><td class='label'>$p{'Employee_Email'}.$p{'email_tail'}</td></tr>
				  </table>
        </td>
      </tr>	       
</table>
</body>
</html>
EOF
 
my $msg = MIME::Lite->new (
        From    => 'me\@company.com',
        To      => $p{'Employee_Email'}.$p{'email_tail'},
        CC      => 'otherperson\@company.com';
        Subject => 'Cancel Shuttle Reservation',
        Type    => 'text/html',
        Data    => $body
);
 
MIME::Lite->send('smtp','mail.server.com');
$msg->send or die "Can not send mail $!\n";
 
print $q->redirect('http://localhost:81/thankyou.html');

Open in new window

0
 
LVL 48

Expert Comment

by:Tintin
ID: 21817491
>on the success page, how can the values submitted can be passed so they are displayed to the user?

If you want a success page with dynamic values, then the easiest way is to get the CGI script to generate it.
0
 

Author Comment

by:itortu
ID: 21817587
you mean like:


print '<html><body>Your e-mail has been sent</body></html>';


i tried with the code below but i get a mesage:

Bad name after Passenger_Name' at C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/travel_forms_scripts/cancel_shuttle_res/cancel_shuttle_res.pl line 124.


line 124:

print '                                                      <tr><td class="label">$p{'Passenger_Name'}</td></tr>';
print '		<table border=0 cellpadding=0 cellspacing=0 width=600>';
print '		    <tr>';
print '		    	<td valign="top" class="leftsidebar"></td>';
print '	  		<td valign="top" class="contentregion">';
print '			    <table border=0 width=600>';
print '			        <tr>';
print '				    <td width=300>';
print '				        <table>';
print '					    		<tr><td class="label">Passenger:</td></tr>';
print '					    		<tr><td class="label">Date:</td></tr>';
print '					    		<tr><td class="label">Flight:</td></tr>';
print '									<tr><td class="label">Cancelled By:</td></tr>';
print '									<tr><td class="label">Employee Number:</td></tr>';
print '									<tr><td class="label">E-mail:</td></tr>';
print '								</table>';
print '							</td>';
print '							<td width=300>';
print '								<table>';
print '									<tr><td class="label">$p{'Passenger_Name'}</td></tr>';
print '									<tr><td class="label">$p{'Date_of_Reservation'}</td></tr>';
print '									<tr><td class="label">$p{'rb_flight'}</td></tr>';
print '									<tr><td class="label">$p{'Cancelled_By'}</td></tr>';
print '									<tr><td class="label">$p{'Employee_Number'}</td></tr>';
print '									<tr><td class="label">$p{'Employee_Email'}.$p{'email_tail'}</td></tr>';
print '								</table>';
print '							</td>';
print '						</tr>';
print '  				</table>';
print '			  </td>';
print '				<td valign="top" class="rightsidebar"></td>';
print '			</tr>';
print '		</table>';

Open in new window

0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1600 total points
ID: 21817606
If you are printing out large chunks of text, use a here doc, eg:


print <<EOF;
<html>
....
</html>
EOF

Open in new window

0
 

Author Comment

by:itortu
ID: 21817652
i tried it but it does not like it.

print <<EOF;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
      <head>
...
....
.....

  </body>
</html>
EOF                     <- this is last line in the program
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21817694
Are you getting an error?

Does the last EOF have any whitespace after it?
0
 

Author Comment

by:itortu
ID: 21817752
below is what i have
print <<HTML;
<html>
	<head>
		<meta http-equiv=content-type content=\"text/html; charset=UTF-8\">
		<title>The Compass</title>
	<style>
		.label{font-size:12px; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
		.header{font-size:12px; font-weight: bold; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
	</style>
	</head>
	<body>
	<div id="wrapper">
  	<div id="header">
    	<div id="secnav">
  			<div class="navPad">
    			<div class="level2">
      			<span class="locationbanner"></span>
      			<a class="level2Links">&nbsp;</a>
      			<a class="level2Links" href="">&nbsp;</a>
        	</div>
       	</div>
			</div>
			<div id="banner">
				<a href="/index/2"><img src="/groups/public/@ldap_wcm_system/documents/web/global_logo.gif" alt="Home" width="212" height="59" border="0"></a>
			</div>
			<div id="topnav">
 				<div class="navPad">
 					<a href="" class="topNavLinks"></A>&nbsp;<span class="topNavLinks"></span></a>
 				</div>
			</div>
		</div>
		<h1>Travel Services: Cancel Shuttle Reservation</h1>
		<h2>Thank You!</h2>
		<p>Your request for shuttle reservation has been sent to Travel Services.	You will <br/>receive a copy of this information via e-mail - please save it for your records.</p>
		<a href="/wcm/index/216"><< Return to Travel Services Homepage</a><br /><br />
		<a href="/wcm/index/216"><< Return to Homepage</a>
		<hr>
		<table border=0 cellpadding=0 cellspacing=0 width=600>
		    <tr>
		    	<td valign="top" class="leftsidebar"></td>
	  		<td valign="top" class="contentregion">
			    <table border=0 width=600>
			        <tr>
				    <td width=300>
				        <table>
					    		<tr><td class="label">Passenger:</td></tr>
					    		<tr><td class="label">Date:</td></tr>
					    		<tr><td class="label">Flight:</td></tr>
									<tr><td class="label">Cancelled By:</td></tr>
									<tr><td class="label">Employee Number:</td></tr>
									<tr><td class="label">E-mail:</td></tr>
								</table>
							</td>
							<td width=300>
								<table>
									<tr><td class="label">$p{'Passenger_Name'}</td></tr>
									<tr><td class="label">$p{'Date_of_Reservation'}</td></tr>
									<tr><td class="label">$p{'rb_flight'}</td></tr>
									<tr><td class="label">$p{'Cancelled_By'}</td></tr>
									<tr><td class="label">$p{'Employee_Number'}</td></tr>
									<tr><td class="label">$p{'Employee_Email'}.$p{'email_tail'}</td></tr>
								</table>
							</td>
						</tr>
  				</table>
			  </td>
				<td valign="top" class="rightsidebar"></td>
			</tr>
		</table>
		<p class="Rule"></p>
		<table class="footer" width="100%" border="0" cellspacing="0" cellpadding="0">
    	<tr><td class="footer" align="center">All rights reserved</td></tr>
			<tr>
				<td class="footer" align="center">
					<a href="/wcm/groups/internal/@ldap_wcm_sr/documents/corporate/010571.pdf" target="Body">Internet Use Policy (POL 129)</a> - 
	      	<a href="/suggestionbox.nsf/WebSuggForm">Suggestion Box</a> - ;
      		<a href="#" onclick="window.print();return false;">Print this page</a>
      	</td>
    	</tr>
  	</table>
  </div>
  </body>
</html>
HTML

Open in new window

0
 
LVL 48

Expert Comment

by:Tintin
ID: 21817840
There is nothing wrong with your code snippet.  It works exactly as it should.

What error/symptom are you getting?
0
 

Author Comment

by:itortu
ID: 21817853
after i submit the form i get this error:

Can't find string terminator "HTML" anywhere before EOF at C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/travel_forms_scripts/cancel_shuttle_res/cancel_shuttle_res.pl line 65.

does this eeror may have something to do with the fact that in the same program i am also using as you instrcuted me to create the email body with html on comment id 21816896?
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21817882
There shouldn't be any conflict.

Can you please attach or copy the entire script, so I can see where the issue is.

0
 

Author Comment

by:itortu
ID: 21817898
#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
use MIME::Lite;
 
my $q = new CGI;
my %p = $q->Vars;


my $body = <<EOF;
<html>
      <head><meta http-equiv=content-type content=\"text/html; charset=UTF-8\">
            <style>
                  .label{font-size:12px; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
                  .header{font-size:12px; font-weight: bold; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
            </style>
      </head>
      <body>
            <table border=0 width=600>
                  <tr>
                        <td width=300>
                              <table>
                                    <tr><td class='label'>Passenger:</td></tr>
                                    <tr><td class='label'>Date:</td></tr>
                                    <tr><td class='label'>Flight:</td></tr>
                                    <tr><td class='label'>Cancelled By:</td></tr>
                                    <tr><td class='label'>Employee Number:</td></tr>
                                    <tr><td class='label'>E-Mail:</td></tr>
                              </table>      
                        </td>
                        <td width=300>
                              <table>
                              <tr><td class='label'>$p{'Passenger_Name'}</td></tr>
             <tr><td class='label'>$p{'Date_of_Reservation'}</td></tr>
             <tr><td class='label'>$p{'rb_flight'}</td></tr>
             <tr><td class='label'>$p{'Cancelled_By'}</td></tr>
                                     <tr><td class='label'>$p{'Employee_Number'}</td></tr>
                                     <tr><td class='label'>$p{'Employee_Email'}.$p{'email_tail'}</td></tr>
                          </table>
        </td>
      </tr>             
</table>
</body>
</html>
EOF
 
my $msg = MIME::Lite->new (
        From    => 'me\company.com',
        To      => $p{'Employee_Email'}.$p{'email_tail'},
#        Cc      =>'other\@company.com',
        Subject => 'Cancel Shuttle Reservation',
        Type    => 'text/html',
        Data    => $body
);

MIME::Lite->send('smtp','mailgate.wpl.com');
$msg->send or die "Can not send mail $!\n";
 
#print $q->redirect('http://localhost:81/thankyou.html');

print <<HTML;
<html>
<head>
<meta http-equiv=content-type content=\"text/html; charset=UTF-8\">
<title>The Compass</title>
<style>
.label{font-size:12px; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
.header{font-size:12px; font-weight: bold; font-family: Trebuchet, Arial, Helvetica, sans-serif;}
</style>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="secnav">
<div class="navPad">
<div class="level2">
<span class="locationbanner"></span>
<a class="level2Links">&nbsp;</a>
<a class="level2Links" href="">&nbsp;</a>
</div>
</div>
</div>
<div id="banner">
<a href="/index/2"><img src="/groups/public/@ldap_wcm_system/documents/web/global_logo.gif" alt="Home" width="212" height="59" border="0"></a>
</div>
<div id="topnav">
<div class="navPad">
<a href="" class="topNavLinks"></A>&nbsp;<span class="topNavLinks"></span></a>
</div>
</div>
</div>
<h1>Travel Services: Cancel Shuttle Reservation</h1>
<h2>Thank You!</h2>
<p>Your request for shuttle reservation has been sent to Travel Services.      You will <br/>receive a copy of this information via e-mail - please save it for your records.</p>
<a href="/wcm/index/216"><< Return to Travel Services Homepage</a><br /><br />
<a href="/wcm/index/216"><< Return to The Compass Homepage</a>
<hr>
<table border=0 cellpadding=0 cellspacing=0 width=600>
<tr>
<td valign="top" class="leftsidebar"></td>
<td valign="top" class="contentregion">
<table border=0 width=600>
<tr>
<td width=300>
<table>
<tr><td class="label">Passenger:</td></tr>
<tr><td class="label">Date:</td></tr>
<tr><td class="label">Flight:</td></tr>
<tr><td class="label">Cancelled By:</td></tr>
<tr><td class="label">Employee Number:</td></tr>
<tr><td class="label">E-mail:</td></tr>
</table>
</td>
<td width=300>
<table>
<tr><td class="label">$p{'Passenger_Name'}</td></tr>
<tr><td class="label">$p{'Date_of_Reservation'}</td></tr>
<tr><td class="label">$p{'rb_flight'}</td></tr>
<tr><td class="label">$p{'Cancelled_By'}</td></tr>
<tr><td class="label">$p{'Employee_Number'}</td></tr>
<tr><td class="label">$p{'Employee_Email'}.$p{'email_tail'}</td></tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top" class="rightsidebar"></td>
</tr>
</table>
<p class="Rule"></p>
<table class="footer" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="footer" align="center">
<a href="/wcm/groups/internal/@ldap_wcm_sr/documents/corporate/010571.pdf" target="Body">Internet Use Policy (POL 129)</a> -
<a href="/domino/suggestionbox.nsf/WebSuggForm">Suggestion Box</a> - ;
<a href="#" onclick="window.print();return false;">Print this page</a>
</td>
</tr>
</table>
</div>
</body>
</html>
HTML
0
 

Author Comment

by:itortu
ID: 21817919
is it possible to add a CC field to the MIME message?
0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1600 total points
ID: 21818001
You need to send a HTTP header.  So where you have commented out the redirect, add

print $q->header;

For CC addresses, just do:

my $msg = MIME::Lite->new (
        From    => $p{'from'},
        To      => $p{'to'},
        cc      => 'some@address',
        Subject => $p{'subject'},
        Type    => 'text/html',
        Data    => $body
);

Open in new window

0
 

Author Comment

by:itortu
ID: 21818234
i thought that was the problembut i did tried that print$q->header;

but i still get the same exact error..
0
 

Author Comment

by:itortu
ID: 21818246
it keeps pointing to this line print <<HTML;
0
 

Author Comment

by:itortu
ID: 21818267
i also tried to add the line:

        cc      => 'luisnava-gomez\@alliantenergy.com',

and i got:

Software error:

SMTP recipient() command failed:
<luisnava-gomez>: Recipient address rejected: User unknown in local recipient table

0
 

Author Comment

by:itortu
ID: 21818341
i figured it out, at the end HTML

i needed to add a carriage retunr line.

as last comment, i was not able to add the cc field, the way you specified above, any ideas why this my be happening?

once again, thank you much
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21818998
cc      => 'luisnava-gomez\@alliantenergy.com',

should be

cc      => 'luisnava-gomez@alliantenergy.com',

You only need to backslash the @ if it is enclosed in double quotes.


0
 

Author Comment

by:itortu
ID: 21819312
yep you are right. i did figured that by reading the documentation of MIME-Lite

how hard is to make that redirect html page to receive values from the form.

do you know of any samples that i can look at to work on this?

if not i completely understand.

thank you.
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21819540
For a redirected page to be dynamic, it can't be a static HTML page.  It has to be a page created via a CGI program, or some other dynamic method such as ASP, JSP, etc.
0
 

Author Comment

by:itortu
ID: 21819640
can the variables be written on this line

print $q->redirect('http://localhost:81/cancel_shuttle_confirm.html?p_name='$p{'Passenger_Name'}');

i'm not sure if this is the correct syntax though.

i can use javascript inside the success page to retrieve them from the querystring

0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1600 total points
ID: 21819907
Close, you just need to use double quotes if you use variables, ie:
print $q->redirect("http://localhost:81/cancel_shuttle_confirm.html?p_name='$p{'Passenger_Name'}");

Open in new window

0
 

Author Comment

by:itortu
ID: 21822202
do you think that might work as a temporary solution?
0
 
LVL 48

Expert Comment

by:Tintin
ID: 21826559
Not sure what you mean by your last question.  Personally, I would just have the CGI script generate the success page.
0
 

Author Closing Comment

by:itortu
ID: 31468151
excellent help, expert was clear in details and every piece of code provided worked without much tweaking that was awesome.
0
 
LVL 23

Expert Comment

by:Kamaraj Subramanian
ID: 26443928
@tintin:

your suggestion and code is working perfectly. you rocks in the perl world. I am using this email send functionality in my small tool.

you are great :)

thanks
kamaraj
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question