0

サーバーからデータを要求し、テーブルとして表示する Web ページ (Angular と JavaScript を使用) があります。

この Web ページのコピーを電子メールで送信したいと思います (node と nodemailer を使用)。

http.get を使用して Web ページの html を取得しますが、当然これは HTML しか取得しません。ブラウザーに表示されているページ (読み込みが完了した後) を電子メールに取得したいと考えています。

どうすればこれを達成できますか?

これは私自身の試みであり、当然のことながら純粋な html ページでのみ機能するため、javascript と角度のあるものが欠けています。これはcoffeescriptを使用することに注意してください。

nodemailer = require("nodemailer")
http = require 'http'

sendmail = (html)->
  transport = nodemailer.createTransport("SMTP",{
    service: "Gmail"
    auth:
      user: u
      pass: p
  })

  mailOptions =
    from: f
    to: t
    subject: s
    html: html

  transport.sendMail mailOptions, (err,res)->
    console.log err if err?
    do transport.close

http.get 'http://localhost:3000/something', (res) ->
  res.on 'data', (data) ->
    sendmail data.toString()
4

2 に答える 2

2

PhantomJSはおそらくあなたが探しているソリューションです。これは、サーバー上のページをメール送信可能なフォームにレンダリングするヘッドレス Webkit ブラウザーです。これの主な用途は、Single Page Applications (SPA) の SEO を有効にすることです。詳細はこちら:「シングルページ」のJS WebサイトとSEO

于 2013-04-05T01:39:58.440 に答える