0

次のコードを使用して vime からメールを送信します。

vmime::string urlString;

urlString="smtp://outgoing.verizon.net";

vmime::utility::url url(urlString);

vmime::ref <vmime::net::transport> tr =
g_session->getTransport(url,vmime::create <interactiveAuthenticator>());

// You can also set some properties (see example7 to know the properties

// available for each service). For example, for SMTP:
tr->setProperty("options.need-authentication", true);
tr->setProperty("auth.username", userName);
tr->setProperty("auth.password", password);
fromString=userName+"@verizon.net";
vmime::mailbox from(fromString);
vmime::mailboxList to;
toString = toUserName+"@verizon.net";
to.appendMailbox(vmime::create <vmime::mailbox>(toString));
std::ostringstream data;
data<<subjectId;
// Connect to server
tr->connect();
// Send the message
vmime::string msgData = data.str();
vmime::utility::inputStreamStringAdapter vis(msgData);
tr->send(from, to, vis, msgData.length());
logMsg(DEBUG,2,"Thread Id: %ld,Sent the data in the transaction",pthread_self());

ログから送信データが正常に送信されていることがわかります。しかし、[メールが送信された]ボックスに接続して受信ボックスを確認すると、その受信ボックスへのメールが0通表示されます。vime からの例外やエラーはありません。メール ボックスの Web バージョンに接続すると、成功したメールであっても、トランザクションが送信されたボックスが表示されません。前もって感謝します。

4

1 に答える 1

0

スニファーを使用して、ホストからの SMTP トラフィックをキャッチします。すべてが問題ないように見える場合 (つまり、SMTP セッションが正しい場合)、ホストの問題ではなく、リモート MTA の問題です (メールがスパムとして検出されていないことなどを確認してください)。

于 2013-01-22T10:54:10.240 に答える