2017-07-28 4 views
1

私はexpress36を介してexpressを実行しているドッカーコンテナからいくつかの電子メールを送信しようとしています。 ドッカー付きノードマイラー

この

は、使用されるコードである

export class Emailer { 
transporter: nodemailer.Transporter; 
constructor() { 
    this.transporter = nodemailer.createTransport(smtpTransport({ 
     host: 'smtp.reg365.net', 
     auth: { 
      user: 'myuser', 
      pass: mypassword' 
     } 
    })); 
} 

public async sendEmail(to,body) { 
    try { 
     return await this.transporter.sendMail({to,from: '"TEST" <[email protected]>',text: body, subject: ' WE NEED THE CONTENT AND DESIGN OF THIS EMAIL!!!!'}); 
    } 
    catch(error) { 
     console.log('Email error'); 
     console.dir(error); 
    } 

} 
} 
私はNPMの開始とExpressを実行するが、私はドッキングウィンドウでそれを実行した場合、それは Error: Connection closed

はそれが唯一の失敗このエラーで失敗します場合は、すべての罰金を働いて

私はGmailを使用場合smtp.reg.356.netを使用して、それは完全に

これは私が

FROM node:8 

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

RUN npm install -g nodemon 

COPY package.json /usr/src/app/ 
RUN npm install 

COPY ./dist /usr/src/app/dist 

EXPOSE 3005 
EXPOSE 25 
CMD [ "npm", "start" ] 
を使用していドッカファイルで動作します

多くのありがとうございます。

EDIT: 要求されたとして、25返しますドッカコンテナにこのtelnet: could not resolve smtp.reg.356.net/25: Name or service not known

ホストマシン上の猫の/etc/resolv.confの出力

domain Hitronhub.home 
nameserver 89.101.160.5 
nameserver 89.101.160.4 

をテルネットsmtp.reg365.netを実行している

search hitronhub.home 
nameserver 127.0.0.11 
options ndots:0 
+0

コンテナを起動し、bashシェルに移動します。 'telnet smtp.reg.356.net 25'コマンドを実行し、質問に出力を投稿してください。 –

+0

完了しました。これは出力telnetです:解決できなかったsmtp.reg.356.net/25:名前またはサービスが不明です。 Thanks – troyz

+0

ホストマシンとドッカーコンテナの両方に 'cat/etc/resolv.conf'をもう1つ追加しました。おそらくそれはあなたが必要とするDNS設定です。私はそれが問題であることを確認したら答えを書くでしょう –

答えて

2

ファイルを作成します/etc/docker/daemon.json

{ 
"dns": ["89.101.160.5", "89.101.160.4"] 
} 

ドッカーサービスを再起動して、もう一度やり直してください。

おそらくオフィスネットワーク上にあり、使用する必要がある独自のDNSサーバーがあります。したがって、Dockerデーモンに、どのDNSサーバーを使用するべきかを伝える必要があります。それが問題の原因です。 daemon.jsonファイルを使用してデーモンの設定を変更できます。

+0

それは問題を解決しました、ありがとう! 問題点を教えていただけますか? – troyz

+0

答えが更新されました。その説明が役立つかどうかを確認してください。 –

+0

はい、非常に便利です。どうもありがとう! – troyz

関連する問題