Email publications as we've done them: Difference between revisions

From Minn-StF Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
----
----


<code>
<pre>
#! /usr/bin/perl
#! /usr/bin/perl


Line 140: Line 140:
     close SM or die "Closing sendmail failed: $!";
     close SM or die "Closing sendmail failed: $!";
}
}
</code>
</pre>

Latest revision as of 10:35, 19 February 2013

To date, David Dyer-Bennet has been sending out email publications via his ISPs mail server, or directly from his own server, using a Perl script customized for each year. So far we have not had serious problems with being perceived as spammers; but the war between spammers and anti-spammers is ongoing and the rules change constantly.

We should look into making sure mnstf.org has the proper spf records in our DNS for the source of those emails. (I'll bring this up elsewhere, but if it gets lost maybe this will remind someone.)

Possibly it would be safer to switch to using Dreamhost's "announce-only" mailing list feature. That meets modern standards for non-spam commercial email, in that users must confirm wanting to be on the list, and the list (and its confirmations) are handled by a third party. However, making that switch would nearly certainly lose us some of our current email connections. Also, it doesn't work for emails that need to be customized for each recipient as we have sometimes done (showing that they're registered already, for example).

Since I don't see an option to attach a file, here's the script I used most recently, so it's on record for anybody who might need it. As I say, it's customized for each publication sent; this one has Minicon 47 PR1 in it.


#! /usr/bin/perl

# Send PR1

# stdin is database of reg info, fields:
#email

# If original is a DOS file, expand record separator.
#$/="\r\n";

while (<>) {
    chomp;
    $email = $_;

    print "Email is \"$email\"\n";

    # Now do something useful with it, like constructing the email
    open (SM, "| sendmail -f empubs\@minicon47.mnstf.org $email") or die "Open failed: $!";

#    open (SM, ">> out.txt") or die "Open failed: $!";

# ZZZ An email address with a "&" in the left part caused this to fail.
# I think individual print statements rather than the embedded variables
# would fix that.
    print SM <<MSGHDRS;
To: <$email>
From: Minicon <request\@minicon47.mnstf.org>
Subject: Minicon 47 Progress Report 1
Organization: The Minnesota Science Fiction Society, Inc.

MSGHDRS

print SM <<'MSGPART3';
MINICON 47 PR1
April 6-8, 2012
Author Guest of Honor Ted Chiang
Artist guest Frank Wu
Fanzine Guest
Christopher J Garcia
Special guest Brianna Spacekat Wu

Hotel Rooms 

We are in the same hotel as we have been for a number of years, although
the hotel has been sold and is now a DoubleTree by Hilton.

Room Rates: 
Traditional Room $89 
Cabana Rooms $89 (Check our website for instructions if 
you wish to book a cabana room for sleeping and/or a room party) 
Pool side Suites $139 

Be sure to book your rooms before March 15, 2012; on that date, all room
rates will go up by $10 per night.

To book your room, please visit
<http://www.mnstf.org/minicon47/hotel>, or call the DoubleTree
reservation line at 952-835-7800.

To book poolside Cabana rooms, please send your request to
<parties@minicon47.mnstf.org>. If you already have a room confirmation
number from the DoubleTree, please include that with your request.

Volunteers

"Minicon is run entirely by volunteers. Please join us. We greatly
appreciate the gift of your time. E-mail
<volunteers@minicon47.mnstf.org> to participate.  We're all in this
together!

Programming

We recently wrapped up a very sucessful programming brainstorming
session, but it's still not too late to submit ideas. In 2012, Minicon
will have panel discussions, readings, demonstrations and other
events. The deadline for submission of programming ideas is December
1st. If you'd like to suggest a topic, or you'd like to find out about
how to volunteer, links are available at the Programming page on the
Minicon Website. <http://www.mnstf.org/minicon47/programming>

Costumes

MiniCon will hold a costume contest in an informal setting, with
prizes for adults and children, including participation awards for
all. Skits are okay but not required. Our theme is, "The minions are
coming, the minions are coming!" You're encouraged to dress as your
favorite minion.

Registration

Pre-registration is open until March 15. It is $45 for adults, $30 for
students ages 13-20, $20 for kids ages 6-12. Children 5 and under
don't need to be registered, but if they are, they'll get a nice
pre-printed badge. Supporting memberships are available for $15 and
are convertable to a full membership for an additional $40 at the
door.

You can pre-register online at <http://mnstf.org/minicon47/> or you
can print a form off the website to mail in.

At the door rates will be $60 for adults, $32 for students (13-20),
$20 for kids (6-12) and still free for children 5 and under. We will
have day memberships for Friday ($30), Saturday ($40) and Sunday
($25).

At Minicon 47, you can pick up your badge, buy at-the-door
memberships, and pre-register for Minicon 48 at the
registration/volunteers/info desk Friday 10am-10pm, Saturday
9:30am-8pm and Sunday 9:30pm-4pm. We'll be in the same place as last
year: at the top of the escalator above the main lobby. Most likely
registration will also be available Thursday night in the consuite and
Sunday night in the bar.

Minicon memberships are transferable at no cost (but are not 
refundable). If you need to transfer your membership, e-mail 
<registration@minicon47.mnstf.org>. 

We are embarking on a project to reconstruct older historical
registration data. Our database is fairly complete back to Minicon 40
or so, but gets rapidly spottier as you go back further. Can you help
us by filling out a survey? <http://mnstf.org/minicon47/regsurvey.php>

-- Minicon 47 Concom

To unsubscribe from this list please email
   <registrationt@minicon47.mnstf.org>
MSGPART3

    close SM or die "Closing sendmail failed: $!";
}