Bonjour,

Je travaille sur un logiciel et j'ai une fenetre en préambule de l'application qui demande, le nom, prénom et adresse email à l'utilisateur.
Le mail est envoyé par le module smtp de Raivis Strogonovs.
J'essai de faire vérifier que l'adresse entrée soit bien un email.

Voici mon code dans mainwindows.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
envoiMail::envoiMail()
{
    prenom = new QLineEdit(this);
    nom = new QLineEdit(this);
    adresse = new QLineEdit(this);
    envoi = new QPushButton(tr("Envoyer"), this);
    smtp = new Smtp("noreply.callimarco@gmail.com", "callimarco123", "smtp.gmail.com");
 
    QFormLayout *lay = new QFormLayout;
    QVBoxLayout *layPrinc = new QVBoxLayout;
 
    lay->addRow(tr("Prénom: "), prenom);
    lay->addRow(tr("Nom: "), nom);
    lay->addRow(tr("Adresse Mail: "), adresse);
 
    if(adresse.contains(QRegExp("^[\w|\.]+@[\w]+\.[\w]{2,4}$")))
    {
        QMessageBox::information(this, "Message envoyé","Message envoyé");
        this->close();
    }
    else
            QMessageBox::critical (this, "l'adresse", EntryText + " n'est pas valide !");
    return;
 
    layPrinc->addLayout(lay);
    layPrinc->addWidget(envoi);
 
    setLayout(layPrinc);
 
    setWindowIcon(QIcon(QCoreApplication::applicationDirPath()+"/img/ico_32.png"));
 
    connect(envoi, SIGNAL(clicked()), this, SLOT(envoyerMail()));
    QWidget::connect(smtp, SIGNAL(status(QString)), this, SLOT(mailEnvoye(QString)));
}
 
envoiMail::~envoiMail()
{
    smtp->deleteLater();
}
 
void envoiMail::envoyerMail()
{
    QString corps = "Voici les informations à propos de la nouvelle demande \nPrénom: " + prenom->text() + "\nNom: " + nom->text() + "\nAdresse mail: " + adresse->text() + genererCode();
    smtp->sendMail(information personnelle ,corps);
    //QMessageBox::information(this, tr("Mail envoyé"), tr("Votre demande a bien été envoyée, consultez vos mails régulièrement pour le récupérer."));
    QFile fic(QCoreApplication::applicationDirPath()+"/infos.txt");
    if(fic.open(QIODevice::WriteOnly))
    {
        QTextStream flux(&fic);
        flux << "Attente";
        fic.close();
        qDebug() << "Fini fichier";
    }
 
    //this->close();
}
void envoiMail::mailEnvoye(QString status)
{
    if (status == "Message sent")
    {
        QMessageBox::information(this, "Message envoyé","Message envoyé");
        this->close();
    }
}
C'est clairement la partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(adresse.contains(QRegExp("^[\w|\.]+@[\w]+\.[\w]{2,4}$")))
qui ne fonctionne pas.

Ca me sort tout un tas de problème à la compilation.
Je ne suis pas très doué en programmation et je bidouille ce que je peux.
Si quelqu'un peut me mettre sur une piste, j'en serai très reconnaissant.

Benjamin