Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让CSS动画在电子邮件中工作?_C#_Css_Css Animations_Smtpclient - Fatal编程技术网

C# 如何让CSS动画在电子邮件中工作?

C# 如何让CSS动画在电子邮件中工作?,c#,css,css-animations,smtpclient,C#,Css,Css Animations,Smtpclient,我正在尝试学习如何在电子邮件中发送CSS动画,但当我将CSS动画示例发送到outlook时,它无法工作。即使当我尝试在一个单独的浏览器中打开时,我看到的只是一张红色的图片,没有预期的动画。我使用的是SmtpClient类,我已经激活了isbodyhtml=true 我想要的是在我的电子邮件中看到动画。我试图找到如何在电子邮件中发送css动画的完整示例,但没有一个成功 string smtpserver = "XXXX.XXXX.XXXX"; int smtpport = 25; NetworkC

我正在尝试学习如何在电子邮件中发送CSS动画,但当我将CSS动画示例发送到outlook时,它无法工作。即使当我尝试在一个单独的浏览器中打开时,我看到的只是一张红色的图片,没有预期的动画。我使用的是SmtpClient类,我已经激活了isbodyhtml=true

我想要的是在我的电子邮件中看到动画。我试图找到如何在电子邮件中发送css动画的完整示例,但没有一个成功

string smtpserver = "XXXX.XXXX.XXXX";
int smtpport = 25;
NetworkCredential credentials = null;
bool enableSSL = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = smtpserver;
smtp.Port = smtpport;
smtp.Credentials = credentials;
smtp.EnableSsl = enableSSL; //smtp.EnableSsl = true;
Console.WriteLine("Sending email to [" + toEmail + "] with [" + smtpserver.ToString() + ":" + smtpport.ToString() + "]");
MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromEmail);
string[] mailAddresses = toEmail.Split(';');

foreach (string mailAddress in mailAddresses)
{
    mail.To.Add(new MailAddress(mailAddress));
}

mail.Subject = "Urgent! Disco Disco!";
body = @""+
"<!DOCTYPE html>"+
"<html>"+
"<head>"+
"<style>"+
"div {"+
"  width: 100px;"+
" height: 100px;"+
" background - color: red;"+
" -webkit - animation - name: example; /* Safari 4.0 - 8.0 */"+
" -webkit - animation - duration: 4s; /* Safari 4.0 - 8.0 */"+
" animation - name: example;"+
" animation - duration: 4s;"+
"}"+
"/* Safari 4.0 - 8.0 */"+
"@-webkit - keyframes example {"+
"   from { background - color: red; }"+
"  to { background - color: yellow; }"+
"}"+
"/* Standard syntax */"+
"@keyframes example {"+
"from { background - color: red; }"+
"to { background - color: yellow; }"+
"}"+
"</style>"+
"</head>"+
"<body>"+
"<p><b> Note:</b> This example does not work in Internet Explorer 9 and earlier versions.</p>"+
            "<div></div>"+
"<p><b> Note:</b> When an animation is finished, it changes back to its original style.</p>"+
"</body>"+
"</html>";
mail.Body = body;
mail.IsBodyHtml = true;

try
{
    if (files != null)
    {
        foreach (string file in files)
        {
            mail.Attachments.Add(new Attachment(file));
        }
    }
}
catch (Exception ex)
{
    Console.WriteLine("Error attaching attachment" + "[" + ex.Message + "]");
}
AutoResetEvent waiter = new AutoResetEvent(false);
smtp.SendCompleted += (s, e) => { mail.Dispose(); };
smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
smtp.SendAsync(mail, waiter);
waiter.WaitOne(5000);
Console.WriteLine("SendAsync completed.");
string smtpserver=“XXXX.XXXX.XXXX”;
int smtpport=25;
NetworkCredential凭据=空;
bool enablesl=false;
SmtpClient smtp=新SmtpClient();
smtp.Host=smtpserver;
smtp.Port=smtpport;
smtp.Credentials=凭据;
smtp.EnableSsl=启用SSL//smtp.EnableSsl=true;
Console.WriteLine(“使用[“+smtpserver.ToString()+”:“+smtpport.ToString()+”]”向[“+toEmail+”]发送电子邮件;
MailMessage mail=新的MailMessage();
mail.From=新邮件地址(fromEmail);
字符串[]mailAddresses=toEmail.Split(“;”);
foreach(MailAddresss中的字符串mailAddress)
{
mail.To.Add(新邮件地址(maildAddress));
}
mail.Subject=“紧急!迪斯科!”;
正文=@“”+
""+
""+
""+
""+
“div{”+
“宽度:100px;”+
“高度:100px;”+
“背景-颜色:红色;”+
“-webkit-animation-name:example;/*Safari 4.0-8.0*/”+
“-webkit-动画-持续时间:4s;/*Safari 4.0-8.0*/”+
“动画-名称:示例;”+
“动画-持续时间:4s;”+
"}"+
“/*Safari 4.0-8.0*/”+
“@-webkit-关键帧示例{”+
“来自{背景-颜色:红色;}”+
“到{背景色:黄色;}”+
"}"+
“/*标准语法*/”+
“@关键帧示例{”+
“来自{背景-颜色:红色;}”+
“到{背景色:黄色;}”+
"}"+
""+
""+
""+
“注意:此示例在Internet Explorer 9和早期版本中不起作用。

”+ ""+ 注意:动画完成后,会变回其原始样式。

+ ""+ ""; mail.Body=Body; mail.IsBodyHtml=true; 尝试 { 如果(文件!=null) { foreach(文件中的字符串文件) { mail.Attachments.Add(新附件(文件)); } } } 捕获(例外情况除外) { Console.WriteLine(“附加附件“+”[“+ex.Message+”]”时出错); } 自动重置事件服务员=新自动重置事件(假); smtp.SendCompleted+=(s,e)=>{mail.Dispose();}; smtp.SendCompleted+=新的SendCompletedEventHandler(SendCompletedCallback); smtp.SendAsync(邮件、服务员); 服务员,服务员(5000); WriteLine(“SendAsync已完成”);
没有这个
“测试”

我用chrome和edge试用过,但没有动画效果

这就是我尝试过的


我的头衔
div{
宽度:100px;
高度:100px;
背景色:“红色”;
-webkit动画名称:“示例”;/*Safari 4.0-8.0*/
-webkit动画持续时间:4s;/*Safari 4.0-8.0*/
动画名称:示例;
动画持续时间:4s;
}
/*Safari 4.0-8.0*/
@-webkit关键帧“示例”{
来自{背景色:红色;}
至{背景色:黄色;}
}
/*标准语法*/
@关键帧示例{
来自{背景色:红色;}
至{背景色:黄色;}
}
注意:此示例在Internet Explorer 9和早期版本中不起作用

注意:动画完成后,将更改回其原始样式


您是否单独尝试过这种html格式?当它不是以电子邮件的形式发送时,它是否能满足您的需要?是的,这是w3school的一个例子。我的道歉。我现在对您的原始html代码和css进行了更正。现在正在制作动画。请尝试将其添加到您的电子邮件代码中,并查看它是否正常工作。现在它可以在Chrome和Edge以及IE 11.8下工作。让社区知道结果是什么它在浏览器中工作,但在电子邮件中仍然不起作用。虽然现在我看到了红色。