Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

set REMOTE_ADDR to sendmail?

by techdex (Initiate)
on Oct 09, 2012 at 13:14 UTC ( #998004=perlquestion: print w/replies, xml ) Need Help??
techdex has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I have a series of free services (marketing, work at home, etc), where the requirement is that they opt in to my aweber list and receive information from a pay per lead program. I want to streamline so that the users only fill out 1 registration form instead of 3 or 4, however I've run into a bit of a problem. The mail confirmations don't count as unique (but as all being generated from my servers). Normally I don't care, but in this case I'd like the mail that is sent from the confirmation page (after they click Register and the account is created) to appear on the remote side that the user actually sent it. Right now there are step 1, step 2, step 3 and people are dropping after step 1 and not completing the requirements, so this will solve that problem as well. Any ideas?

Replies are listed 'Best First'.
Re: set REMOTE_ADDR to sendmail?
by greengaroo (Hermit) on Oct 09, 2012 at 14:52 UTC

    Your real problem seems to be the conversion rate of your process.

    Have you considered shortening the steps to complete the form? Using AJAX and modern Web development techniques, you should be able to craft a form that will automatically adapt to the choices of the user and load different version of the form as the user fills it. This would shorten your funnel and result in a better conversion rate.

    Also, if you really cannot shorten the process (and I really doubt that), you should make sure that the number of steps the user will go through are well indicated like Step 1/3, Step 2/3 etc. This could help.

    Finally, if I understand correctly what you are trying to achieve with Sendmail, you should simply change the "From" part of the e-mail but I don't recommend doing this because these e-mails could be considered as spam since the server sending them is not a registered host for the e-mail addresses in the "From".

    Trust me, this is not easy, even a real legit e-mail server must have registered reverse DNS entries so the e-mails it sends are not considered spam by other servers.

    There are no stupid questions, but there are a lot of inquisitive idiots.
      Alright. I noticed my last post didn't show (probably because I had a URL in it), but I figured it out. Manual Opt-ins get two iframes on the same page, each opting them in to my list and the ppl program (four actually - I also load the two landing pages so the information is set in their browser, then load the iframes). For my automated friends, before their account is created I put LWP::UserAgen and HTTP::Request to some good use and fetched the URL contents first. Looks like this
      use LWP::UserAgent; use HTTP::Request; my $ppd = 'script post url with all the variables'; my $aweber = 'script post url with all the variables'; &do_ppd; &do_aweber; &do_register; sub do_ppd { my $agent = LWP::UserAgent->new(env_proxy => 1,keep_alive => 1, timeou +t => 30); my $header = HTTP::Request->new(GET => $ppd); my $request = HTTP::Request->new('GET', $ppd, $header); my $response = $agent->request($request); # Check response if ($response->is_success){ print "url:$url\nHeaders:\n"; print $response->headers_as_string; print "\nContent:\n"; print $response->as_string; }elsif ($response->is_error){ print "Error:$url\n"; print $response->error_as_HTML; } } sub do_aweber { my $agent = LWP::UserAgent->new(env_proxy => 1,keep_alive => 1, timeou +t => 30); my $header = HTTP::Request->new(GET => $aweber); my $request = HTTP::Request->new('GET', $aweber, $header); my $response = $agent->request($request); # Check response if ($response->is_success){ print "url:$url\nHeaders:\n"; print $response->headers_as_string; print "\nContent:\n"; print $response->as_string; }elsif ($response->is_error){ print "Error:$url\n"; print $response->error_as_HTML; } } sub do_register { #see if user exists #see if email is valid and doesn't already exist #mysql insert }
      Firing order :) Thank you for your input on shortening the process. I really wanted to make the process to do all three steps with only filling out one from. Most people who go hunting for free stuff like marketing seldom actually complete any process. This way I get paid whether they do or not.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://998004]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2018-06-19 14:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.