質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SendGrid

SendGridは、米SendGrid社のクラウド型メール配信サービス。アカウントを作成するだけですぐに利用することが可能です。さらに到達率向上のための送信ドメイン認証対応や、柔軟性のあるスケーラビリティなど多くの機能を有します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

707閲覧

Vue2でのSendGridAPIを使ったメール送信時のネットワークエラーについてaxios.get関数に割り当てるURLについて

kosei_iino

総合スコア4

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SendGrid

SendGridは、米SendGrid社のクラウド型メール配信サービス。アカウントを作成するだけですぐに利用することが可能です。さらに到達率向上のための送信ドメイン認証対応や、柔軟性のあるスケーラビリティなど多くの機能を有します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/07/02 10:58

[環境]
OS:Windows10
構築環境:npm
言語:javascript
フレームワーク:vue2

[質問内容]
axiosを使用してのsendGridメール送信の行い方についてお聞きしたいです。

[状況]
npmで環境構築したVue2環境において、SendGridAPIのメール送信を行おうとしたところ、以下のようなエラーが表示されました。
(テスト用にmain.jsに直接書いています。)

[コード]

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

const sgMail = require('@sendgrid/mail');

const API_KEY = "XXXXX";
sgMail.setApiKey(API_KEY);

const msg = {
to: 'XXXXX',
from: 'XXXXX',
subject: 'test mail from sg',
text: 'hoge hoge',
html: '<p>foo bar</p>'
}
console.log(sgMail);
sgMail.send(msg).catch(e => console.log(e));

new Vue({
render: h => h(App),
}).$mount('#app')

[エラー]

AxiosError {message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', config: {…}, request: XMLHttpRequest, …}
code: "ERR_NETWORK"
config: {transitional: {…}, transformRequest: Array(1), transformResponse: Array(1), timeout: 0, adapter: ƒ, …}
message: "Network Error"
name: "AxiosError"
request: XMLHttpRequest {data: undefined, onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, …}
response: XMLHttpRequest {data: undefined, onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, …}
[[Prototype]]: Error


SendGridでバウンスの取得などをする際はAPI用のURLなどが存在するのでわかるのですが、メール送信でAxiosエラーが出る理由がわかりません。

それでもAxiosエラーが出たので、npmからAxiosをインストールし、並行処理ありきでメール送信をしようと思ったのですが、axios.get関数に割り当てるURLが何にあたるのかがわからず、停滞してしまっています。

[試したこと]
・一説では、プロキシっぽい実装にしなくてはいけないとのことだったので「vue.config.js」を「src」ディレクトリ配下に置きネットにある通り、targetを自身のローカルホストのポート番号に合わせるなども行っています。

・vueのインストールを行わず、sendGrid単体をjavascriptのみで実施した際にはメールの送信がうまくいきました。
vueと組み合わせることでエラーが起こるみたいです。

もし、同じ状態になったことのある方や、この事象に詳しい方がいらっしゃいましたらお聞きしたいです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問