document.write("<div class=\"pastie\">\n");
document.write("  <link href=\"http://pastie.org/stylesheets/embed.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  <link href=\"http://pastie.org/stylesheets/clean.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  \n");
document.write("\n");
document.write("  \n");
document.write("  \n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("	\n");
document.write("	<div class=\"allcode\">\n");
document.write("		<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n");
document.write("		<tr>\n");
document.write("			<td>\n");
document.write("				\n");
document.write("				<pre class=\"textmate-source-numbers\">1\n");
document.write("2\n");
document.write("3\n");
document.write("4\n");
document.write("5\n");
document.write("6\n");
document.write("7\n");
document.write("8\n");
document.write("9\n");
document.write("10\n");
document.write("11\n");
document.write("12\n");
document.write("13\n");
document.write("14\n");
document.write("15\n");
document.write("16\n");
document.write("17\n");
document.write("18\n");
document.write("19\n");
document.write("20\n");
document.write("21\n");
document.write("22\n");
document.write("23\n");
document.write("24\n");
document.write("25\n");
document.write("26\n");
document.write("27\n");
document.write("28\n");
document.write("29\n");
document.write("30\n");
document.write("31\n");
document.write("32\n");
document.write("33\n");
document.write("34\n");
document.write("35\n");
document.write("36\n");
document.write("37\n");
document.write("38\n");
document.write("39\n");
document.write("40\n");
document.write("41\n");
document.write("42\n");
document.write("43\n");
document.write("44\n");
document.write("45\n");
document.write("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\"><span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>#!/usr/local/bin/ruby<\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'net/smtp\'<\/span><\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'net/http\'<\/span><\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'net/https\'<\/span><\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'uri\'<\/span><\/span>\n");
document.write("urls <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_lower string_quoted_other_literal_lower_ruby\'>%w{<\/span>\n");
document.write("<span class=\"String\">  http://www.changingthepresent.org/<\/span>\n");
document.write("<span class=\"String\">  http://www.changingthepresent.org/nonprofits/show/23/<\/span>\n");
document.write("<span class=\"String\">  http://www.changingthepresent.org/causes/list/<\/span>\n");
document.write("<span class=\"String\">  https://www.changingthepresent.org/<\/span>\n");
document.write("<span class=\"String\">}<\/span>\n");
document.write("from <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'system@importantgifts.org\'<\/span>\n");
document.write("recipients <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_lower string_quoted_other_literal_lower_ruby\'>%w{development@changingthepresent.org}<\/span>\n");
document.write("errors <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> []\n");
document.write("\n");
document.write("\n");
document.write("urls.each <span class=\'keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>url<\/span>|\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>begin<\/span>\n");
document.write("    uri <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>URI<\/span>.parse(url)\n");
document.write("    http <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Net<\/span>::<span class=\'support support_class support_class_ruby\'>HTTP<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>(uri.host, uri.scheme <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;https&quot;<\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>?<\/span> <span class=\'constant constant_numeric constant_numeric_ruby\'>443<\/span> : <span class=\'constant constant_language constant_language_ruby\'>nil<\/span>)\n");
document.write("    http.use_ssl <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> (uri.scheme <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;https&quot;<\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>?<\/span> <span class=\'constant constant_language constant_language_ruby\'>true<\/span> : <span class=\'constant constant_language constant_language_ruby\'>false<\/span>)\n");
document.write("    http.start <span class=\'keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>http<\/span>|\n");
document.write("      request <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Net<\/span>::<span class=\'support support_class support_class_ruby\'>HTTP<\/span>::<span class=\'support support_class support_class_ruby\'>Get<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>(uri.path)\n");
document.write("      response <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> http.request(request)\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>case<\/span> response\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'support support_class support_class_ruby\'>Net<\/span>::<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>HTTPSuccess<\/span>, <span class=\'support support_class support_class_ruby\'>Net<\/span>::<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>HTTPRedirection<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>else<\/span>\n");
document.write("        <span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>raise<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;requesting <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{url}<\/span> returned code <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{response.code}<\/span>&quot;<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>rescue<\/span>\n");
document.write("    error <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;<span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{url}<\/span>: <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{<span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$!<\/span>}<\/span>&quot;<\/span>\n");
document.write("    errors <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>&lt;&lt;<\/span> error\n");
document.write("    puts error\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("<span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("<span class=\'keyword keyword_control keyword_control_ruby\'>unless<\/span> errors.empty?\n");
document.write("  msg <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;From: <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{from}<\/span><span class=\'constant constant_character constant_character_escape constant_character_escape_ruby\'>\\n<\/span>&quot;<\/span>\n");
document.write("  msg <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Subject: ChangingThePresent.org is down!<span class=\'constant constant_character constant_character_escape constant_character_escape_ruby\'>\\n<\/span><span class=\'constant constant_character constant_character_escape constant_character_escape_ruby\'>\\n<\/span>&quot;<\/span>\n");
document.write("  msg <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> errors.join(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;<span class=\'constant constant_character constant_character_escape constant_character_escape_ruby\'>\\n<\/span>&quot;<\/span> )\n");
document.write("  puts <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;sending email to <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{recipients.join(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\', \'<\/span>)}<\/span>&quot;<\/span>\n");
document.write("  <span class=\'support support_class support_class_ruby\'>Net<\/span>::<span class=\'support support_class support_class_ruby\'>SMTP<\/span>.start(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'localhost\'<\/span> , <span class=\'constant constant_numeric constant_numeric_ruby\'>25<\/span>, <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'localhost\'<\/span> ) <span class=\'keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>smtp<\/span>|\n");
document.write("    smtp.send_message(msg, from, recipients)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("<span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("<\/pre><\/pre>\n");
document.write("		<\/td>\n");
document.write("		<\/tr>\n");
document.write("		<\/table>\n");
document.write("	\n");
document.write("	<\/div>\n");
document.write("\n");
document.write("\n");
document.write("  \n");
document.write("  \n");
document.write("  <div class=\"credit\">\n");
document.write("    <div class=\"buttons\">\n");
document.write("      <a href=\"http://pastie.org/pastes/924787.txt\">\n");
document.write("      <img src=\"http://pastie.org/images/view.png\" height=\"20\" width=\"67\" /><\/a>\n");
document.write("    <\/div>\n");
document.write("  \n");
document.write("    <a href=\"http://pastie.org/924787\">Pastie #924787<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");

