Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
tf0054
committed
Jan 7, 2011
1 parent
fb70b87
commit 3073a43
Showing
9 changed files
with
128 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
require("./templatefilters"); | ||
require("./setup"); | ||
|
||
var Setup = require("nitro/middleware/setup").Setup, | ||
Path = require("nitro/middleware/path").Path, | ||
Errors = require("nitro/middleware/errors").Errors, | ||
Render = require("nitro/middleware/render").Render, | ||
Dispatch = require("nitro/middleware/dispatch").Dispatch; | ||
|
||
var Mailrecieve = require('./root/mailrecieve').app; | ||
|
||
exports.mailapp = Setup(Mailrecieve); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
var db = require("google/appengine/ext/db"); | ||
|
||
var Request = require("nitro/request").Request, | ||
redirect = require("nitro/response").Response.redirect; | ||
|
||
var MimeMessage = require("google/appengine/ext/mimemessage").MimeMessage; | ||
|
||
var logger = require("google/appengine/logging"); | ||
|
||
exports.GET = function(env) { | ||
var params = env.params; | ||
// 登録があればデータを引き出してそれを元にフォームを作らせる | ||
|
||
var strKey = ''; | ||
var jmail = new MimeMessage(env); | ||
|
||
if(params.key == undefined){ | ||
// リスト表示 | ||
var artTmp = new Array(); | ||
var attachments = jmail.getAttachments(10); | ||
for(var i = 0; i<attachments.length; i++){ | ||
artTmp.push({ | ||
key: attachments[i].key(), | ||
filename: attachments[i].filename, | ||
type: attachments[i].contenttype | ||
}); | ||
} | ||
|
||
// テンプレートを使い保存されているデータのリストを表示 | ||
return { | ||
data: { | ||
key: params.key, | ||
lists: artTmp | ||
} | ||
}; | ||
} else { | ||
// データ表示 | ||
var attachment = jmail.getAttachment(params.key); | ||
var {ByteArray} = require('binary'); | ||
var byteContent = new ByteArray(attachment.content.getBytes()); | ||
|
||
// テンプレートを使わないでコンテンツを表示 | ||
return { | ||
status: 200, | ||
headers: { | ||
"Content-Type": attachment.contenttype, | ||
"X-gae-key": params.key | ||
}, | ||
body: [byteContent] | ||
}; | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
var Request = require("nitro/request").Request, | ||
redirect = require("nitro/response").Response.redirect; | ||
|
||
// ringo | ||
var logger = require("google/appengine/logging"); | ||
|
||
// 作り中のメール受信ライブラリ | ||
var MimeMessage = require("google/appengine/ext/mimemessage").MimeMessage; | ||
|
||
// 実際に呼ばれるのはこれ。 | ||
exports.app = function(env) { | ||
return exports.POST(env); | ||
} | ||
|
||
// .appから流されてこれが動く(本当は.app内で決め打ちしないものみたい(GETかもなので)) | ||
exports.POST = function(env) { | ||
// paramsプロパティは読まれた(getされた)ときに作られる(queryParamsとpostParamsの結合もの) | ||
// ringo/webapps/request.js | ||
var params = env.params; | ||
|
||
// 環境変数経由でhttpヘッダなどが見れる | ||
/* | ||
for(var item in env) { | ||
logger.info("ENV> " + item + ":" + env[item]); | ||
} | ||
for(var item in params) { | ||
logger.info("PRM> " + item + "^" + params[item]); | ||
} | ||
*/ | ||
var buffer = params["slopped"]; | ||
var mailBody = buffer.decodeToString("UTF-8"); | ||
logger.info("MIL> " + mailBody.length); | ||
var jmail = new MimeMessage(mailBody); | ||
|
||
if(jmail){ | ||
logger.info("mail-subject: " + jmail.getSubject()); | ||
var aryTmp = jmail.getParts(); | ||
if(aryTmp){ | ||
for(var i=0; i<aryTmp.length;i++){ | ||
logger.info("mail-part(" + i + "): " + aryTmp[i].getContent()); | ||
} | ||
} | ||
} else { | ||
logger.info("mail: cannot found content!"); | ||
} | ||
|
||
// 200番で返して受信完了にする | ||
return { | ||
status: 200, | ||
headers: {"Content-Type": "text/html"}, | ||
body: ["xxx"] | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<html> | ||
<body> | ||
<h1>view with blob</h1> | ||
<hr/> | ||
{:reduce lists} | ||
<li><a href="/mailaview?key={=key}">{=filename}</a> -> {=type}</li> | ||
{:else} | ||
<li>No articles found</li> | ||
{/:reduce} | ||
</body> | ||
</html> |