Хорошо, я не думаю, что официальный фрагмент, упомянутый galuszkak, должен использоваться везде, мы должны рассмотреть случай, когда некоторая ошибка может быть вызвана во время обработчика, такого как функция hello_world
. Независимо от того, является ли ответ правильным или неправильным, мы должны обратить внимание на заголовок Access-Control-Allow-Origin
. Итак, все очень просто, как показано ниже:
@blueprint.after_request # blueprint can also be app~~
def after_request(response):
header = response.headers
header['Access-Control-Allow-Origin'] = '*'
return response
Это все ~~
some time ago I wrote a blog post about exactly same topic. See HOWTO: Download emails from a GMail account in C# for details.
Code uses our Rebex Mail component:
using Rebex.Mail;
using Rebex.Net;
...
// create the POP3 client
Pop3 client = new Pop3();
try
{
// Connect securely using explicit SSL.
// Use the third argument to specify additional SSL parameters.
Console.WriteLine("Connecting to the POP3 server...");
client.Connect("pop.gmail.com", 995, null, Pop3Security.Implicit);
// login and password
client.Login(email, password);
// get the number of messages
Console.WriteLine("{0} messages found.", client.GetMessageCount());
// -----------------
// list messages
// -----------------
// list all messages
ListPop3MessagesFast(client); // unique IDs and size only
//ListPop3MessagesFullHeaders(client); // full headers
}
finally
{
// leave the server alone
client.Disconnect();
}
public static void ListPop3MessagesFast(Pop3 client)
{
Console.WriteLine("Fetching message list...");
// let's download only what we can get fast
Pop3MessageCollection messages =
client.GetMessageList(Pop3ListFields.Fast);
// display basic info about each message
Console.WriteLine("UID | Sequence number | Length");
foreach (Pop3MessageInfo messageInfo in messages)
{
// display header info
Console.WriteLine
(
"{0} | {1} | {2} ",
messageInfo.UniqueId,
messageInfo.SequenceNumber,
messageInfo.Length
);
// or download the whole message
MailMessage mailMessage = client.GetMailMessage(messageInfo.SequenceNumber);
}
}
Gmail предоставляет доступ POP . Так что просто воспользуйтесь любой библиотекой , которая позволяет вам общаться с помощью POP, и вы в совершенстве.
Изменить: Я только что заметил, что вы упомянули IMAP; Я рекомендую вам использовать протокол POP для массовых дампов. IMAP слишком болтлив для того, чем вы хотите заниматься.
Если вам необходимо использовать IMAP, вот библиотека для вас.
Вы можете использовать fetchmail из среды Unix для создания файла mbox.
http://lifehacker.com/software/gmail/geek-to-live--back-up- gmail-with-fetchmail-235207.php