Giter Site home page Giter Site logo

emailjs's People

Contributors

0x7f avatar aaaristo avatar askmike avatar bridgear avatar carsonf avatar defunctzombie avatar domenic avatar dvv avatar eleith avatar fsrc avatar izuzak avatar jholster avatar jimmybergman avatar jniles avatar johnmclear avatar lselden avatar mscdex avatar ooskapenaar avatar paroga avatar pedrosland avatar skalnik avatar stefanullinger avatar steveraden avatar swang avatar tedeh avatar thadclay avatar titaniumlou avatar tuetuopay avatar wyattjoh avatar zackschuster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emailjs's Issues

emailjs doesn't work with node.js 0.6.7?

$ npm install emailjs
npm http GET https://registry.npmjs.org/emailjs
npm http 304 https://registry.npmjs.org/emailjs
npm http GET https://registry.npmjs.org/buffertools
npm http 304 https://registry.npmjs.org/buffertools

[email protected] preinstall /home/me/kj/src/node_modules/emailjs/node_modules/buffertools
./build-wrapper

Traceback (most recent call last):
File "./build-wrapper", line 8, in
status = subprocess.call('node-waf configure build'.split())
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(_popenargs, *_kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
npm ERR! error installing [email protected]
npm ERR! error installing [email protected]
npm ERR! [email protected] preinstall: ./build-wrapper
npm ERR! sh "-c" "./build-wrapper" failed with 1
npm ERR!
npm ERR! Failed at the [email protected] preinstall script.
npm ERR! This is most likely a problem with the buffertools package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! ./build-wrapper
npm ERR! You can get their info via:
npm ERR! npm owner ls buffertools
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 3.0.0-14-virtual
npm ERR! command "node" "/usr/local/bin/npm" "install" "emailjs"
npm ERR! cwd /home/me/kj/src/node_modules
npm ERR! node -v v0.7.0-pre
npm ERR! npm -v 1.1.0-beta-10
npm ERR! code ELIFECYCLE
npm ERR! message [email protected] preinstall: ./build-wrapper
npm ERR! message sh "-c" "./build-wrapper" failed with 1

354 Responses

I'm getting 354 responses when using emailjs against the following dummy STMP server. I am planning on using emailjs for a mail utility in place of node-mail since that isn't being maintained much and has some outstanding issues. However, I never encountered this error with that module but do with this one. Any ideas?

Here's where you download the dummy STMP server:

http://www.aboutmyip.com/AboutMyXApp/DevNullSmtp.jsp

I usually run:

java -jar DevNullSmtp.jar -p 2500 -console
// and then run emailjs against port 2500

Here's the error I keep getting:

{ code: 2,
  message: 'bad response on command \'rset\'',
  smtp: '354 Start mail input; end with <CRLF>.<CRLF>\n' }

I can get you more details if you need.

emailjs can't send messages >12kB, algorithms don't scale

emailjs can't send messages larger than 12kb because it allocates a fixed buffer of that size which cannot be changed.

If you try to increase the buffer size, the process will crash with a stack overflow error because 'output_base64()' recurses for every 76 bytes. Seriously? If there wasn't a 12kb limitation, that would be a huge security risk.

eleith, I really appreciate all the hard work you've done making emailjs, but I urge you to consider deprecating this project in favor of nodemailer which doesn't have these problems. I didn't know about nodemailer until now because your project was the first thing that showed up for me when I googled for a node email library. I feel very concerned for the people using this library in production who didn't test it as thoroughly as I have.

html-mail sent by emailjs and read by android mail looks empty

The company i work for receives reports about mails not being visible.

Let me explain what we found out so far. The setup is the usual sign-up procedure at a server and an e-mail sent to verify the existence of the e-mail address. So far so good. Everything works as expected as far as we can see. Node.js is used for serverside programming with emailjs for sending the mentioned e-mail.

A few of our users complain about the e-mails being completely empty. Neither the main ascii variant nor the html alternative is visible for these users. We haven't been able to reproduce the issue yet, so details are vague. We do know one user with the issue has a slightly older android version and uses this to read e-mail.

Any suggestion is appreciated. If we can work with a developer of emailjs that would be fantastic.

Michiel

invalid ELF header

Working perfectly on my local machine but when I deploy to server I get this error:

Error: /app/node_modules/emailjs/node_modules/buffertools/build/Release/buffertools.node: invalid ELF header

Is this a bug or something I'm doing?

breaks node-imap

Not sure it's bug of emailjs or node-imap but when I requre it ImapConnection.connect() fails with strange exception.

var imap = require('imap');
var email = require('emailjs');

var imapConnection = new imap.ImapConnection({
    username: "[email protected]",
    password: "...",
    host: "imap.gmail.com",
    port: 993,
    secure: true
});

imapConnection.connect(function (){
    console.log('logged in');
    imapConnection.logout(function (){
        console.log('logged out');
    });
});

throws

/home/suor/projects/remailer/node_modules/imap/imap.js:1635
  while ((pos = this.indexOf(search, start)) > -1) {
                     ^
TypeError: Second argument must be a string or a buffer.
    at Buffer.split (/home/suor/projects/remailer/node_modules/imap/imap.js:1635:22)
    at CleartextStream.<anonymous> (/home/suor/projects/remailer/node_modules/imap/imap.js:241:17)
    at CleartextStream.emit (events.js:67:17)
    at CleartextStream._push (tls.js:363:12)
    at SecurePair.cycle (tls.js:688:20)
    at EncryptedStream.write (tls.js:122:13)
    at Socket.ondata (stream.js:38:26)
    at Socket.emit (events.js:67:17)
    at TCP.onread (net.js:347:14)

Commenting out require('emailjs') makes everything work

smtp error with no stacktrace

I am using v0.2.2 of emailjs and getting back the following error after performing a send. Not sure what the error itself is, but I do know that it doesn't have a stacktrace which makes it hard to track down in the code. This probly indicates that the error itself is not an error object. When possible, all errors should be of the Error object or derive from it so you can get stacktraces :)

Any thoughts on what causes this or where it comes from in the codebase?

{ code: 2,
  message: 'bad response on command \'rset\'',
  smtp: '354 Continue\n' }

Failures prevent future connections

I'm running into a problem where a send() call fails with the below error. After the failure, all future send() calls fail silently.

I've experimented with recreating the connection with emailjs.server.connect() but that doesn't seem to resolve it either.

What pattern do most people use? Since, I don't see a disconnection(), I've created a single connection and send all messages through that connection.

{ [Error: connection encountered an error]
code: 5,
previous: { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' },
smtp: undefined }

Socket is not writable

After some time in operation, emailjs gets stuck with an open smtp connection in state 2 (CONNECTED) and sending=true, but the connection is not writable.
Here's a trace of global objects:

queue: Array -- has 18 messages in queue..
sending: true
smtp: Object
_secure: true
_state: 2
domain: Ubuntu-1104-natty-32-minimal
features: Object
8bitmime: true
auth: LOGIN PLAIN XOAUTH
enhancedstatuscodes: true
mx.google.com: at your service, [78.47.27.204]
size: 35882577
proto: Object
host: smtp.gmail.com
loggedin: true
port: 465
sock: Object
_controlReleased: true
_destroyAfterPush: true
_doneFlag: true
_events: Object
_paused: false
_pending: Array
_pendingBytes: 0
_pendingCallbacks: Array
authorized: true
encrypted: Object
pair: Object
_clearWriteState: true
_doneFlag: true
_encWriteState: true
_events: Object
_isServer: false
_rejectUnauthorized: false
_requestCert: true
_secureEstablished: true
_writeCalled: false
cleartext: Object
credentials: Object
cycleCleartextPullLock: false
cycleCleartextPushLock: false
cycleEncryptedPullLock: false
cycleEncryptedPushLock: false
encrypted: Object
fd: null
ssl: null
proto: Object
readable: false
socket: Object
_connecting: false
_events: Object
_idleNext: null
_idlePrev: null
_idleStart: Date
_idleTimeout: 5000
_pipeCount: 1
_readImpl: function (buf, off, len) { return read(self.fd, buf, off, len); }
_readWatcher: null
_shutdownImpl: function () { shutdown(self.fd, 'write'); }
_writeImpl: function (buf, off, len, fd, flags) { // XXX: TLS support requires that 0-byte writes get procโ€ฆ
_writeQueue: Array
_writeQueueCallbacks: Array
_writeQueueEncoding: Array
_writeQueueFD: Array
_writeWatcher: null
allowHalfOpen: false
bufferSize: 0
destroyed: true
fd: null
readable: false
type: tcp4
writable: false
proto: Object
writable: false
proto: Object
ssl: true
timeout: 5000
tls: false
proto: Object

As you can see, the socket is long gone, but smtp has no idea about this, and still tries to send data to the socket.
the "sending" flag is never changed to 0, as well as the smtpp.state which stays CONNECTED.

Please let know how to fix this, as this problem has been popping up frequently ever since deployment.

Works locally, but not on remote server

Runs flawlessly on local app, but not on remote server. I even wrote up a small test app to solely focus on the emailjs. Again, works fine locally, but I don't receive emails whenever its ran on the remote server. Successful callbacks are given in both cases.

doesn't recover from smtp errors

var email = require('emailjs');

// use your own account, I'm using smtp.com
var server = email.server.connect(
{
user: "...",
password: "...",
host: "...",
port: 25025,
domain: "..."
}
);

// simulate an error
server.send(
{
text: "test",
from: "...",
to: Object, // the error
subject: "test"
}, function(error, message) {
console.log("done emailing " + JSON.stringify(error));
}
);
// done emailing {"code":2,"message":"bad response on command 'RCPT'","smtp":"504 5.5.2 : Recipient address rejected: need fully-qualified address\n","error":null}

// now let's make a valid call
server.send(
{
text: "test",
from: "...",
to: "...",
subject: "test"
}, function(error, message) {
console.log("done emailing " + JSON.stringify(error));
}
);
// but it never calls the callback

server.smtp.state();
// 2

server.queue.length;
// 1

server._poll();
// doesn't help

Error: no form of authorization supported

I'm trying to use emailjs with haraka, but I'm getting this error while I try to test it:

{ [Error: no form of authorization supported] code: 7, smtp: undefined }

Here is the code:

var email = use("/usr/local/lib/node_modules/emailjs");

var mail  = email.server.connect({
    user        : "[email protected]", 
    password    : "my_password", 
    host        : "localhost", 
    domain      : 'localhost',
    ssl         : false,
    port        : 587,
});

// send message
mail.send({
   text:    "i hope this works", 
   from:    "ME! <[email protected]>", 
   to:      "Adam <[email protected]>",
   subject: "testing emailjs"
}, function(err, message) { 
    console.log(err || message); 
});

bufferjs/concat no long exists

The latest 2.0.0 bufferjs no longer has bufferjs/concat.js causing emailjs to fail to load. One solution is to force the bufferjs dependency to "=1.1.0" vs "*".

problem in calculation of mimechunck count

Hello,

There is a minor problem in message.js when calculation the number of chunks , the number is currently
a float rather than an integer.The last overleft line may be sent twice, and this causes a problem on some
mail server.

The correction is obvious

var loops = Math.floor(info.length / mimechunk);

Cheers

JF

out-of-band error/close/end events

What happens with events that are coming in when there is no message in flight ?
It seems like the events are ignored as there is no listener to the 'response' events after all the send()'s are done.

using emailjs with outlook smtp

Hi,

I was trying to use emailjs with outlook smtp but unable to use. I am writing my options object something like this:

var server = email.server.connect({
user: "my-use-mail-id",
password:"my-passwrod",
host: "smtp.outlook.com",
port: xyz,
ssl: true
});

when I do the same with gmail smtp, looks working great!! please give me a working example with outlook SMTP .

Thanks
-Manish

Crashes when using certain host names.

If I use a certain host for the options object that I pass into emailjs.server.connect, it crashes.

For example, I have this code:
http://vpaste.net/lIbf3

That code works, but if I change the host on line 8 from gaia.ecs.csus.edu to smtp.saclink.csus.edu, the whole things crashes with the following output:
http://vpaste.net/XwnMZ

Changing the host name is the only change I'm making to cause the error.

SSL on node 0.8.4 and emailjs 0.3.1 giving me a ECONNREFUSED

Fresh install of 0.8.4 and emailjs 0.3.1 gives me a ECONNREFUSED when I enable SSL for sending mail on port 465.
No problems sending when switched over to ssl:false and on a non-ssl port.
The same code (ssl:true, port:465) works fine on older versions of node and emailjs.
Any ideas what I'm doing wrong?

Thanks,
Shawn

Does not send if only one To: address

e=require('emailjs')
s=e.server.connect()
s.send(e.message.create({to:'root',from:'vlad',text:test'}),function(e,m){console.log(e,m)});
undefined

{ [Error: bad response on command 'RCPT']
code: 2,
smtp: '550 5.1.1 : Recipient address rejected: User unknown in local recipient table\n' } { attachments: [],
alternative: null,
header:
{ 'message-id': '1349894146526.2.32016@backend',
to: 'root',
from: 'vlad' },
content: 'text/plain; charset=utf-8',
text: 'test' }

Embedding images

emailjs is a great and easy to use! Exactly what I need.

But now I have a Problem:

I wanted to embed some images into an HTML-email. You can do this by defining a src with a content-id like this:

<img src="cid:uniqueidentifier"` width="100" height ="50">

Additionaly you have to add this identifier in the header of the image.

------=_NextPart_000_000E_01C5BEB4.946C1870 
Content-Type: image/png; 
   name="header.png" 
Content-Transfer-Encoding: base64 
Content-ID: <uniqueidentifier> 

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAQwAA/+4AJkFkb2JlAGTAAAAAAQMA 
FQQDBgoNAAAVAAAAIvoAADfBAABPTP/bAIQABQMDAwMDBQMDBQcEBAQHCAYFBQYICQcHCAcHCQsJ 
CgoKCgkLCwwMDAwMCw4ODg4ODhQUFBQUFhYWFhYWFhYWFgEFBQUJCAkRCwsRFA8ODxQWFhYWFhYW...

I can't find a way to realize this with emailjs. Do you plan to implement such functionality?

"from" field does not work

The email is sent but header does not reflect what was in the "from" field. For example: if I login account "mygmail" of smtp.gmail.com and change from as "[email protected]", it doesn't work. The header of the email sent still shows "[email protected]" as the From.

We will need:

  1. Fix "From" so that it takes input from server.send()
    AND/OR
  2. Make "Reply-To" as another option.

For my case, I will need Reply-To so that people can reply to different address.

sendmail support?

Hello!

Does emailjs support sendmail style send requests from a linux box? It would be nice to be able to use this as an abstraction (i.e. make the mail implementation transparent).

Apologies if I missed some documentation regarding non-SMTP approaches; I did apply due diligence.

Cheers,

Issue with inline images

Its great that emailjs supports inline images:
#16
..but I'm seeing some strange behaviour: The inline images appear twice in my mail reader (Os X Mail app) Once inline and then again as an attachment.

Tried a different reader (Google Mail) but there the image doesn't appear inline and just shows up as an attachment.

I'm wondering if this is because the attached inline image should be inside the boundary for the HTML content of the message?

unsent message queue

Can you add some kind of an external file structure for unsent messages, so if the problem is in configuration,
those messages can be re-sent when server is restarted with new configuration?
Or maybe an external resend_old.js script, which would drain the unsent queue, using the new config.
Main point: avoid silently dropping messages when sending is a problem.

refactor message.js remove buffertools

Hi,

emailjs is not compiling on my system because of buffertools. so i looked at your code and found, that you are using buffertools just in one line. i suggest you get rid of this dependency.

Line 346

           var buffer2 = buffertools.concat(previous, buffer);

there are errors in buffertools (node-gyp). see issue nodejs/node-gyp#77

FATAL ERROR: JS Allocation failed - process out of memory

Runs fine on my mac, but on our Linux server after sending a bunch of emails successfully (maybe 6-10) i get FATAL ERROR: JS Allocation failed - process out of memory killing Node. The emails are a couple lines of text and html, each is sent to just one person.

var Server  = EmailJs.server.connect({
    user:    process.env.CATAPULT_EMAIL,
    password:process.env.CATAPULT_EMAIL_PASSWORD,
    host:    'smtp.gmail.com',
    ssl:     true
});

function send(options, cb) {

    if (!options.to) { log('to required'); return cb();}
    if (!options.subject) { log('subject required'); return cb();}
    if (!options.text) { log('message required'); return cb();}
    if (!process.env.CATAPULT_EMAIL) { log('catapult email required'); return cb();}
    if (!process.env.CATAPULT_EMAIL_PASSWORD) { log('catapult password required'); return cb();}

   var headers = {
       to:              options.to,
       from:            options.from,
       subject:         options.subject,
       text:            options.text,
       authentication: false
   };

    var Message = EmailJs.message.create(headers);

    if (options.html) {
        Message.attach({data: options.html, alternative:true});
    }
    log('sending email to', options.to);
    Server.send(Message,
    function(err, result){
        if (err){
            log('error', err.message || err);
        }
        //process.exit();
        cb(err, result);
    });

}

build an example using emailjs with amazon SES

emaijs exposes the Message object allowing it to be used independently to generate MIME formatted messages/attachments.

it would be nice to have an example showcasing this feature and to see if message.js needs to be modified to make this process feasible.

Error when deploying at Heroku (Maybe a versionissue)

Hey guys.

When I'm deploying my NodeApp at Heroku I get this error.
I've been asking around and other people have the same issue.

(It's working fine locally).

This is the error:

2012-11-02T10:22:17+00:00 heroku[web.1]: Starting process with command node app.js
2012-11-02T10:22:18+00:00 app[web.1]: at Object. (/app/node_modules/emailjs/smtp/message.js:17:4)
2012-11-02T10:22:18+00:00 app[web.1]: at Module._compile (module.js:446:26)
2012-11-02T10:22:18+00:00 app[web.1]: at Object..js (module.js:464:10)
2012-11-02T10:22:18+00:00 app[web.1]: at Module.load (module.js:353:31)
2012-11-02T10:22:18+00:00 app[web.1]: at Function._load (module.js:311:12)
2012-11-02T10:22:18+00:00 app[web.1]: at Module.require (module.js:359:17)
2012-11-02T10:22:18+00:00 app[web.1]: at require (module.js:375:17)
2012-11-02T10:22:18+00:00 app[web.1]: at Module.require (module.js:359:17)
2012-11-02T10:22:18+00:00 app[web.1]: at Function._load (module.js:279:25)
2012-11-02T10:22:18+00:00 app[web.1]: at Function._resolveFilename (module.js:337:11)
2012-11-02T10:22:18+00:00 app[web.1]: ^
2012-11-02T10:22:18+00:00 app[web.1]: Error: Cannot find module 'bufferjs/concat'
2012-11-02T10:22:18+00:00 app[web.1]: throw new Error("Cannot find module '" + request + "'");
2012-11-02T10:22:18+00:00 app[web.1]: module.js:337
2012-11-02T10:22:18+00:00 app[web.1]:
2012-11-02T10:22:19+00:00 heroku[web.1]: Process exited with status 1
2012-11-02T10:22:19+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-02T10:32:25+00:00 heroku[web.1]: State changed from crashed to down

QUIT command is not always sent when sending multi-part messages

/*
Client does not send QUIT command (although it says so when using debug mode, but it does not appear in network sniffer) unless

The following code works, we need to recreate the connection to server:

email.server.connect({
host: "localhost",
port: 5001,
ssl: false
});

each time to be succesful, thus forcing client sending the QUIT command
*/

email_connect.composeAndSendMail = function(  replacements, message_body, callback) {
    var email_connect= email.server.connect({
        host: "localhost",
        port: 5001,
        ssl: false
    });
    var process_email = function(err, email_template) {
            if(err) {
                return callback(err);
            }

            _.each(replacements, function(replacement) {
                email_template = email_template.replace(replacement.key, replacement.value);
            });

            message_body.text = email_template;
            message_body.attachment = [
                {
                    data: email_template,
                    alternative: true
                }
            ];
            email_connect.send(message_body, function(err, message) {
                if(err) {
                    console.log("Error sending email");
                    callback(err, null);
                }else{
                    callback(null, message);
                }               
            });
        };
};

/*
This code presents the bug after several executions
*/

var email_connect= email.server.connect({
        host: "localhost",
        port: 5001,
        ssl: false
    });

email_connect.composeAndSendMail = function(  replacements, message_body, callback) {

    var process_email = function(err, email_template) {
            if(err) {
                return callback(err);
            }

            _.each(replacements, function(replacement) {
                email_template = email_template.replace(replacement.key, replacement.value);
            });

            message_body.text = email_template;
            message_body.attachment = [
                {
                    data: email_template,
                    alternative: true
                }
            ];
            email_connect.send(message_body, function(err, message) {
                if(err) {
                    console.log("Error sending email");
                    callback(err, null);
                }else{
                    callback(null, message);
                }               
            });
        };
};

Updating dependencies and building on Windows.

It seems to me the only reason this won't build on Windows is because of the iconv dependency and it appears that after version 2.0.4 of iconv they support Windows. Is there anyway we could update the dependencies or at least the iconv dependency to their latest version of 2.0.6, or is there some other issue with using this on Windows?

mutiple msgs sent after error

Hello eleith,

Thanks for this module, very easy to use and flexible. I've had one issue pop up: If initial send fails for whatever reason - server is under load, network connection died - it seems that the module automatically attempts to resend the msg, even though error is returned to callee.

In my code, I only log the error and don't re-attempt send. But up a couple of times when such an error occurred, the target email account was sent the msg several times - at one point reaching 83 before I finally killed my server!

Any clues as to what could be happening?

Thanks,
srimonti

Please update npm package

Currently there is 0.1.19 in the npm repository. Maybe you can update? Then it is also consistent with your readme.

please pin the moment dependency

By using >= you expose anyone using your package and installing via npm install to different versions of the package being installed. If moment breaks api with a major or minor release then you will never know.

I suggest pinning to the exact version of moment or at least using ~ to indicate that only patches above a certain patch level are allowed.

This is better than >= or even N.N.x. I would recommend exact pinning tho just to be safe ;)

Strange line feeds appearing on certain mail servers for "long" html mails

Hi there!

When making relatively long html emails (no problem for the text part), on some mail servers, I will receive the email with various base64 encoded chunks separated by newline characters, which basically breaks email rendering. (ie: the client stops rendering the mail after the first chunk)

Some servers seem to "remove" the newline, others leave it there, (for example, gmail removes it, webfaction mail servers are leaving it there), which makes the problem appear only on certain servers.

I have two gists of the exact same email, sent at the same time. The "broken" one ended up in a server that "breaks" the email (webfaction), the other ended up in a server that renders it correctly (gmail).

broken: https://gist.github.com/1391472
correct: https://gist.github.com/1391476

I also tested a bunch of other stuffs such as changing the smtp server or the mail client but that doesn't seem to make any difference. I also directly contacted webfaction, who confirmed that they really received the mail with the newlines, they suspect that gmail removes them automatically to "fix" the mail.

I'm currently actively trying to fix this problem as it's preventing us to go live with a website at this moment, so I'll be more than willing to help fixing it on emailjs if it really comes from there. Any other pointer would be greatly appreciated if it doesn't!

I'm on node 0.6.1

can i change to attach's name chartset?

hi :)

first of all, thank for emailjs.
and I used to attach.
sned to mail and received mail.
but attach filename is break.

share problem code :
ATTACH:
{
PATH: './test.html',
TYPE: 'text/html',
NAME: '๋‰ด์Šค.html' //<----- korean letter
}

Is reply-to email address supported?

Thanks for a great plug-in! I tried specifying replyTo in the same way one would the to, cc or from properties but it does not work for me. Could you please give an example of specifying a Reply-To email address?

Duplicate emails sent and timeout

Hello.

I've been messing around with various email sending solutions for nodejs and after trying to use nodemailer now I'm getting the same issue with emailjs.

I'm using the following:

windows 32bit XP
nodejs 0.6.19
the latest emailjs (installed with npm --force)
precompiled windows binaries for buffertools from here https://github.com/springmeyer/node-buffertools/tree/win-binary (basically, I just deleted the content of "emailjs\node_modules\buffertools" and unpacked the archived files from the above mentioned repository into it)

This is the code I'm currently using to send some test emails

var email= require("emailjs"),
server= email.server.connect({
    user:       "[email protected]",
    password:   "sender_password",
    host:       "smtp.gmail.com",
    ssl:        true
});

server.send({
    text:       'www.google.com Confirm',
    from:       "Sender <[email protected]>",
    to:         "[email protected]",
    subject:    "test confirmation",
    attachment: [
        {
            data:           '<a href="www.google.com">Confirm</a>',
            alternative:    true
        }
    ]
}, function(e, r){
    console.log(e);
    console.log(r);
});

This is my console log

Express server listening on port 8080 in development mode
null
{ attachments: [],
alternative:
{ data: 'Confirm',
alternative: true,
charset: 'utf-8',
type: 'text/html',
inline: true },
header:
{ 'message-id': '1339153866494.0.1600@PC',
from: 'Sender [email protected]',
to: '[email protected]',
subject: 'test confirmation' },
content: 'text/plain; charset=utf-8',
text: 'www.google.com Confirm' }
null
{ attachments: [],
alternative:
{ data: 'Confirm',
alternative: true,
charset: 'utf-8',
type: 'text/html',
inline: true },
header:
{ 'message-id': '1339153986421.1.1600@PC',
from: 'Sender [email protected]',
to: '[email protected]',
subject: 'test confirmation' },
content: 'text/plain; charset=utf-8',
text: 'www.google.com Confirm' }

I received two emails on my gmail account, the second coming in 2 minutes after the first has arrived. On my client side javascript I have a function waiting for server response, it times out after additional 2 minutes, making a total of 4 after sending the first email.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.