使用节点JS发送电子邮件

时间:2016-05-12 03:36:33

标签: javascript html css node.js email

我正在寻找一种使用节点js发送邮件的方法。我的邮件有html内容需要设置样式(我需要设置字体系列和颜色)。我还需要为徽标添加图像。

我已经尝试过使用nodemailer但是当我尝试设置我的内容样式时它不起作用,当我还尝试链接图像(对于徽标)它不起作用。有人有问题吗?

如果你有其他方式而不是节点邮件,请告诉我。

https://nodemailer.com/

2 个答案:

答案 0 :(得分:3)

结帐mailgun:

https://github.com/bojand/mailgun-js

设置和使用非常简单!这是他们文档中的一个片段:

package hello;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.web.socket.WebSocketSession;

import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

@Service
public class SessionHandler {
    private static final Logger LOGGER = LoggerFactory.getLogger(SessionHandler.class);
    private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();

    private final Map<String, WebSocketSession> sessionMap = new ConcurrentHashMap<>();

    public SessionHandler() {
        scheduler.scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                sessionMap.keySet().forEach(k -> {
                    try {
                        sessionMap.get(k).close();
                        sessionMap.remove(k);
                    } catch (IOException e) {
                        LOGGER.error("Error while closing websocket session: {}", e);
                    }
                });
            }
        }, 10, 10, TimeUnit.SECONDS);
    }

    public void register(WebSocketSession session) {
        sessionMap.put(session.getId(), session);
    }

}

你可以用这个包做很多事情,包括附加文件的能力!

答案 1 :(得分:1)

电子邮件客户端支持CSS样式varies。特别是,许多客户端不允许您将样式放入css块中;它们必须直接与元素内联。您可以使用类似juice的内容来处理您的html以内联样式。