public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: linux-kernel@vger.kernel.org, Martin Waitz <tali@admingilde.org>
Subject: Re: script to send changesets per mail
Date: Sun, 13 Mar 2005 12:31:33 +0100	[thread overview]
Message-ID: <20050313113133.GA8083@mars.ravnborg.org> (raw)
In-Reply-To: <20050303105950.GH8617@admingilde.org>

On Thu, Mar 03, 2005 at 11:59:50AM +0100, Martin Waitz wrote:
> hoi :)
> 
> I just tested my little script that can send changesets per mail.
> okok, it still had a bug when I first tested it but that should be
> fixed now.

Greg has a similar script - could you take a look and tell
which is the better (and why). We only want one in the kernel.

It is attached.

	Sam
	
send_lots_of_emails.pl:

#!/usr/bin/perl -w

# horrible hack of a script to send off a large number of email messages, one after
# each other, all chained together.  This is useful for large numbers of patches.
#
# Use at your own risk!!!!
#
# greg kroah-hartman Jan 8, 2002
# <greg@kroah.com>a
# 
# updated to give a valid subject and CC the owner of the patch - Jan 2005
# 

# change this to your email address.
$from = "SOMEONE <someone\@somewhere.com>";

# modify these options each time you run the script
$to = 'linux-kernel@vger.kernel.org';
$initial_reply_to = '<20050203173208.GA23964@foobar.com>';
$initial_subject = "[PATCH] XXX fixes for 2.6.11-rc3";
@files = (
"rev-1.2041.patch",
"rev-1.2042.patch",
"rev-1.2043.patch",
"rev-1.2044.patch",
"rev-1.2045.patch",
"rev-1.2046.patch",
);

use Mail::Sendmail;


# we make a "fake" message id by taking the current number
# of seconds since the beginning of Unix time and tacking on
# a random number to the end, in case we are called quicker than
# 1 second since the last time we were called.
sub make_message_id
{
	my $date = `date "+\%s"`;
	chomp($date);
	my $pseudo_rand = int (rand(4200));
	$message_id = "<$date$pseudo_rand\@kroah.com>";
	print "new message id = $message_id\n";
}



$cc = "";

sub send_message
{
	%mail = (	To	=>	$to,
			From	=>	$from,
			CC	=>	$cc,
			Subject	=>	$subject,
			Message	=>	$message,
			'Reply-to'	=>	"Greg K-H <greg\@kroah.com>",
			'In-Reply-To'	=>	$reply_to,
			'Message-ID'	=>	$message_id,
			'X-Mailer'	=>	"gregkh_patchbomb",
		);

	$mail{smtp} = 'localhost';

	sendmail(%mail) or die $Mail::Sendmail::error;

	print "OK. Log says:\n", $Mail::Sendmail::log;
	print "\n\n"
}


$reply_to = $initial_reply_to;
make_message_id();
$subject = $initial_subject;

foreach $t (@files) {
	$F = $t;
	open F or die "can't open file $t";

	# first line is the CC: list
	$cc = <F>;
	print "cc: $cc";
	
	# second line is the Subject:
	$subject = <F>;
	print "subject: $subject";

	undef $/;
	$message = <F>;	# slurp the whole file in
	close F;
	$/ = "\n";
	send_message();

	# set up for the next message
	$reply_to = $message_id;
	make_message_id();
#	$subject = "Re: ".$initial_subject;
}


  parent reply	other threads:[~2005-03-13 11:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-03 10:59 script to send changesets per mail Martin Waitz
2005-03-03 18:23 ` Jeff Garzik
2005-03-13 11:31 ` Sam Ravnborg [this message]
     [not found] <fa.f2usg94.a5sd8q@ifi.uio.no>
     [not found] ` <fa.hdaug7i.n7qkqg@ifi.uio.no>
2005-03-14 23:22   ` Bodo Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050313113133.GA8083@mars.ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tali@admingilde.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox