- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在解码使用 Gmail API 收到的电子邮件的消息正文时遇到严重问题。我想抓取消息内容并将内容放在一个div中。我使用的是 base64 解码器,我知道它不会解码以不同方式编码的电子邮件,但我不确定如何检查电子邮件以决定使用哪个解码器——声称它们是 utf-8 编码的电子邮件已被成功解码base64 解码器,但不是 utf-8 解码器。
几天来我一直在研究电子邮件解码,我发现我有点不适应这里。我之前没有做过太多围绕电子邮件编码的工作。这是我用来获取电子邮件的代码:
gapi.client.load('gmail', 'v1', function() {
var request = gapi.client.gmail.users.messages.list({
labelIds: ['INBOX']
});
request.execute(function(resp) {
document.getElementById('email-announcement').innerHTML = 'Hello! I am reading your inbox emails.
------
';
var content = document.getElementById("message-list");
if (resp.messages == null) {
content.innerHTML = "Your inbox is empty.";
} khác {
var encodings = 0;
content.innerHTML = "";
angular.forEach(resp.messages, function(message) {
var email = gapi.client.gmail.users.messages.get({
'id': message.id
});
email.execute(function(stuff) {
if (stuff.payload == null) {
console.log("Payload null: " + message.id);
}
var header = "";
var sender = "";
angular.forEach(stuff.payload.headers, function(item) {
if (item.name == "Subject") {
header = item.value;
}
if (item.name == "From") {
sender = item.value;
}
})
thử {
var contents = "";
if (stuff.payload.parts == null) {
contents = base64.decode(stuff.payload.body.data);
} khác {
contents = base64.decode(stuff.payload.parts[0].body.data);
}
content.innerHTML += 'Subject: ' + header + '
';
content.innerHTML += 'From: ' + sender + '
';
content.innerHTML += contents + "
";
} catch (err) {
console.log("Encoding error: " + encodings++);
}
})
})
}
});
});
我正在执行一些检查和调试,所以还有剩余的 console.log
的和其他一些仅用于测试的东西。不过,您可以在这里看到我正在尝试做的事情。
解码我从 Gmail API 中提取的电子邮件的最佳方法是什么?我应该尝试将电子邮件放入
吗?与bộ ký tự
Và kiểu
匹配邮件编码内容的属性?我相信我记得字符集只适用于 nguồn
属性,我不会在这里。有什么建议吗?
câu trả lời hay nhất
对于我正在编写的原型(prototype)应用程序,以下代码适用于我:
var base64 = require('js-base64').Base64;
// js-base64 is working fine for me.
var bodyData = message.payload.body.data;
// Simplified code: you'd need to check for multipart.
base64.decode(bodyData.replace(/-/g, '+').replace(/_/g, '/'));
// If you're going to use a different library other than js-base64,
// you may need to replace some characters before passing it to the decoder.
注意:这些点没有明确记录,可能是错误的:
users.messages: get
Giao diện lập trình ứng dụng (API)默认情况下返回“解析的正文内容”。此数据似乎总是以 UTF-8 和 Base64 编码,无论 Loại nội dung
Và Content-Transfer-Encoding
header 如何。
例如,我的代码可以毫无问题地解析带有这些 header 的电子邮件:Content-Type: text/plain; charset=ISO-2022-JP
, Content-Transfer-Encoding: 7bit
.
Base64编码映射表varies among various implementations . Gmail API 使用 -
Và _
作为表格的最后两个字符,由 RFC 4648 定义的“URL 和文件名安全字母表”1。
检查您的 Base64 库是否使用了不同的映射表。如果是这样,在将正文传递给解码器之前,将这些字符替换为您的库接受的字符。
1 文档中有一条支持行:the "raw" format返回“正文内容作为 base64url 编码的字符串”。 (谢谢埃里克!)
关于javascript - Gmail API 在 Javascript 中解码邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24811008/
Tôi muốn gửi email cho nhiều người dùng khác trong vùng văn bản. Trong vùng văn bản được gọi là nội dung, nếu tôi nhập "người dùng" được bao quanh bởi dấu hoa thị, tôi muốn họ điền tên người dùng của từng email (văn bản trước "@"). Mỗi tên người dùng trong mỗi email đều tạo ra rất nhiều sự khác biệt. Chạy
Câu hỏi này đã có câu trả lời ở đây: đã đóng cửa 10 năm trước. Có thể trùng lặp: Sự cố khi tải tệp php vào biến (Tải resu
Tôi đang lấy thông tin từ cơ sở dữ liệu và cố gắng gửi nó dưới dạng email. Nhiều hàng dữ liệu sẽ được lấy từ cơ sở dữ liệu. Mã của tôi trông như thế này... Tất cả các email thông tin đều ổn. Vấn đề của tôi là tôi muốn giữ các ngắt. Ví dụ, sau tiêu đề, tôi muốn nghỉ ngơi và bắt đầu chuẩn bị
Không có vấn đề gì khi tôi gửi email TEXT bằng cổng thông tin của chúng tôi bằng thư java, tuy nhiên, khi tôi chọn đặt nội dung HTML và gửi email, cảnh báo sau sẽ xuất hiện. Đã dành hàng giờ tìm kiếm nhưng không có câu trả lời hữu ích!
Tôi có lớp này xử lý việc đăng nhập cho gmail. Bất kể tôi nhập email và mật khẩu nào, chương trình sẽ trả về phiên. Tôi không hiểu cách kiểm tra xem đăng nhập có thành công hay không trước khi trả lại đối tượng phiên. gói thưHành động
Tin nhắn văn bản tôi thiết lập được đính kèm vào thư dưới dạng tệp văn bản. Tôi không hiểu tại sao điều này lại xảy ra. ví dụ thư trả lời public void sendEmail(MimeMessage message, Strin
Vì vậy, tôi đang tạo một hệ thống web và ý tưởng là khi người dùng đóng trình duyệt, nó sẽ gửi email cho tôi. Hiện tại người dùng đang sử dụng Javascript Ajax để PHP cập nhật thời gian hiện tại trong cơ sở dữ liệu. Khi thời gian vượt quá 5 phút, tôi muốn
Tôi muốn gửi thư khi sản phẩm hết hạn từ trước, ngày và sau trong php, tôi đã sử dụng hàm dateiff mysql trong php nhưng nếu ngày hết hạn của sản phẩm giống với ngày 31-1-2012 thì các giá trị khác nhau không hoạt động đối với tôi Mã hóa, làm ơn giúp đỡ
Tôi đang cố gắng thiết lập một tập lệnh thư trước tiên sẽ chạy một lựa chọn đơn giản từ mysql và sử dụng các biến mảng này trong thư. Tuy nhiên, tất cả các biến không được xuất ra nội dung thông báo, chỉ có một hàng biến. Đây là kịch bản của tôi: $sql1 = "SE
Gần đây tôi đã làm việc chăm chỉ về vấn đề này. Có API Android nào tôi có thể sử dụng và thêm vào không? Tôi muốn tạo một plugin cho ứng dụng email, nhưng tôi không muốn tạo toàn bộ ứng dụng email. Tôi thực sự muốn thứ gì đó đã xử lý được việc gửi và nhận email
Xin chào, tôi có một trang web PHP tiếng Tây Ban Nha. Có chủ đề "Solicitud de cotización" trong nội dung email này, nhưng chủ đề này xuất hiện trong các hộp thư phổ biến như Solicitud de cotización. nhưng nó là
Tôi muốn viết một tập lệnh sử dụng php để tự động gửi email cho khách hàng của mình, chẳng hạn như khi họ nhập email của họ. Sau đó nhấp vào gửi. Tôi muốn tự động gửi email này. Thứ hai, tôi có cần máy chủ smtp trên máy chủ của mình không? tôi có thể phục vụ
Sáng nay tôi đã giải quyết được một vấn đề: Java Mail, gửi nhiều tệp đính kèm không hoạt động. Lần này tôi gặp phải một vấn đề phức tạp hơn một chút: Tôi muốn kết hợp các tệp đính kèm với hình ảnh.
Dưới đây là đoạn mã để kết nối với thư mục IMAP và thực hiện các thao tác trên đó. Vì vậy, câu hỏi của tôi là về javax.mail.Session, trong trường hợp đó nó sẽ được tạo lại mỗi giây (tùy thuộc vào chế độ ngủ đông của checkInbox()
Tôi đang cố gắng gửi email ứng dụng Java theo hướng dẫn tại http://www.tutorialspoint.com/java/java_sending_email.htm Khi tôi cố chạy nó, từ liên kết ở trên
Tôi có một bảng có 2 cột email và id. Tôi cần tìm các email có liên quan chặt chẽ. Ví dụ: john.smith12@example.com và john.smith12@some.subdomains
Một số thông tin đầu tiên: Debian đã nén PHP 5.3.3 PHP bằng mod_cgi Trong trường hợp này tôi hoàn toàn phải sử dụng mail(). Đối với tất cả các dự án khác của tôi, tôi đã sử dụng thư SMTP. Tôi đã tăng cường trang web
Trong khi khắc phục sự cố biểu mẫu liên hệ của máy chủ email, họ bảo tôi sử dụng "-f" trong địa chỉ người gửi của chức năng thư php. Cờ "-f" làm gì? Tại sao nó giải quyết được vấn đề cho phép gửi email? Tôi đọc một số tài liệu nhưng nó không rõ ràng lắm.
Một câu hỏi đơn giản: Cái nào có hiệu suất gửi email hàng loạt tốt hơn? Gói quản lý danh sách PHP, hàm mail() hoặc sendmail phổ biến nào được sử dụng? Câu trả lời hay nhất Vâng, hàm mail() không phù hợp để gửi email hàng loạt vì nó sẽ
Tôi đang tạo một biểu mẫu PHP cho phép người dùng tải tệp đính kèm lên và gửi chúng đến email của tôi. Tôi đã tìm kiếm việc này từ lâu rồi. Cuối cùng, tôi đã tìm thấy cái này. http://www.shotdev.com/php/php-mail/
Tôi là một lập trình viên xuất sắc, rất giỏi!