忍者ブログ
全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[31] [30] [29] [28] [23] [27] [26] [25] [24] [22] [21]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

オシム氏は、オシムシが、おしむしの・・・・・
"オシムシ"って何か耳障り。
そろそろ"オシム監督"になるから気にならなくなるかな。

さて、

今朝ほどある部門の人に、「80人くらいに一斉メールを送りたい」 と相談がありました。
あるのは名前とメールアドレスが入ったエクセルのリスト。
聞くと、年に何度か送る必要が出てくるとのこと。送信者リストは追加削除がたまに発生する様子。

ということで、チャラっと作ってさし上げました。

リストはMS Accessでもいいというので、Accessにしてもらい、サーバー上のAccessを直接編集してもらうことにして、ColdFusionサーバーでデーターソースを設定。データーソース名は"mdsendmail"

短いのでソースは全部掲載します。
内容的にはColdFusionでメールを送ったことの無い、初心者向けです。

=====[mdsendmail.cfm]================================================
<cfprocessingdirective pageencoding="UTF-8">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>更新メール通知</title>
</head>
<cfquery datasource="mdsendmail" name="send">
select username , email from md_user
</cfquery>
<body>


<cfmail from="okurinushi@hoge.co.jp" to="#email#" subject="ほにゃららのお知らせ" query="send">
お世話になっております。
━【 お知らせ 】━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 このメールは、
 ほにゃらら 
 な方にお送りしております。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━【 お知らせ 】━

#username# 様

うららうららうらうらら。
じゅげむじゅげむごこうのすりきれず。かいじゃりすいぎょのすいぎょうまつ
うんらいまつふうらいまつ。

くうねるところにすむところ。

━【  発信元  】━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ほにゃらら株式会社
  ふがふが部
 住所:東京都
  okurinushi@hoge.co.jp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
</cfmail>
</body>
</html>
=========================================================================

ほぼ見ての通り。このページ、mdsendmail.cfm をブラウザで呼べば、80人全員に1通ずつ、メール本文中にご本人のお名前入りでメールが送られます。

ColdFusion初心者向けに解説。
◆1 <cfquery・・・> で、送信対象リストを取得します。ここでは、md_userテーブルにある、emailusername を全部取ってきます。クエリ名はsendとしました。

◆2 <cfmail>タグを使って、先ほどのquery="send" を指定します。
cfmailタグでquery= を指定すると、そのクエリ結果(この場合は80名)に対し、順番にメールを送ってくれます。ループ等を書く必要はありません。
その際、to= の所に、クエリ結果に含まれているメールアドレスを指定します。to="#email#"
#でくくるのはColdFusionのお約束で、変数を表します。正しく書けば to="#send.email#"となりますが、この場合は省略可能ですね。
あと、from に送信者、subjectにメールのタイトルを入れます。他にもいろいろパラメーターはありますが、最低この程度ですね。(→LiveDocs
◆3 本文を、<cfmail> </cfmail> タグ間に書きます。
改行などは、そのまま表現されます。
また、本文中に 鈴木宗男様 などと個別の名前を入れたい場合は、(クエリ結果に名前が存在する前提ですが) 直接、
 #username# 様
などと書けば、そこに当てはめてくれます。

以上で出来上がり。ブラウザでこのページmdsendmail.cfmを呼べば、送信完了です。(正確にはキューに入る)

実務上は、「送信しますか?」 の確認を出したり、一度管理者にテスト送信したりしますね。
ブラウザをリロードするだけで、もう一度同じメールが大量に送られちゃったりしますから注意が必要です。

私も何度か冷や汗をかいたことが・・・・・(^-^;A

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ブログ内検索
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。

情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。

外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・

FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新トラックバック
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
なかのひと
忍者ブログ [PR]