所以,我正在做的是使用 Sendgdrid 的 API(PHP API 库)来发送电子邮件。发送部分有效,我只是想稍微修改一下以添加更多自定义功能,但我不确定是否可能。我正在使用 CodeIgniter,因此我跳过了一些代码,但您已经了解了总体思路。
我想要实现的是自定义这部分

我希望公司徽标出现在那里,而不是自动生成的 A。
我想实现这个目标:

我需要修改一些标头吗?
我的邮件发送流程是这样的(虚构数据):
$email = new \SendGrid\Mail\Mail();
$email->setFrom("noreply@mail.com", "Sender Name");
$email->setSubject("Mail Subject");
$email->addTo($mail_data->email, $mail_data->name);
$email->addContent(
"text/html", $this->load->view('mails/recovery', $mail_data, TRUE)
);
$sendgrid = new \SendGrid($this->config->item('sendgrid_api_key'));
try {
$response = $sendgrid->send($email);
// do some stuff
} catch (Exception $e) {
// do some other stuff
}
Run Code Online (Sandbox Code Playgroud)
所以邮件到达正确并且一切正常,但是有没有办法像邮件发件人的头像一样添加?比如公司的标志什么的。有没有办法通过代码来做到这一点?
我检查了一些关于创建谷歌帐户的信息,但是如果我使用的是noreply@地址怎么办?如果我使用不同的地址发送另一封邮件会怎样?我必须为每个帐户添加谷歌帐户吗?
我正在尝试使用过渡为背景属性设置动画。
当我将鼠标悬停在目标上时,它工作得很顺利,但是当我离开目标时,它就像闪光一样!
进出不是应该很顺利吗?
看起来这个闪烁问题背后的混合混合模式或者其他原因,所以我需要解释。
a {
position:relative;
display:block;
}
img {
position:relative;
width: 172px;
border-radius:15px;
float:left;
margin-bottom:10px;
filter:grayscale(100%);
}
a::after {
position: absolute;
left: 0;
top: 0;
width: 172px;
height: 242px;
background: #2d293e;
content: " ";
display: block;
border-radius: 14px;
mix-blend-mode: screen;
transition: opacity 300ms ease-in-out,background 400ms ease-in-out;
}
a:hover::after {
background:#FF0101;
opacity:0.1;
}Run Code Online (Sandbox Code Playgroud)
<a>
<img src="https://images.wikidi.net/crop/172x242/http://f2.fsm.wikidi.com/af/ad/yb/e0d20df22741de9c3480e691bc7a3a41efceddcd.jpg" alt=""/>
</a>Run Code Online (Sandbox Code Playgroud)
我正在使用 JavaScript 和 PHP SDK 实现 Stripe 支付平台。
我对实现本身没有任何问题,但我不确定是否必须重用现有的 PaymentIntent,或者创建一堆不完整的 PayIntent 也完全没问题。
我在 Stripe 的文档中搜索了此内容,但似乎找不到与此相关的任何内容。
这都是为了同一个事务,因为我正在更改一些视觉效果并刷新浏览器。
我知道每个 PaymentIntent 都有一个 ID,但建议将其添加为查询参数并在刷新时检索它,还是最好始终生成新的 Payment Intent。
我的主要理由是避免收集大量不完整的付款意图。
所以我基本上在我的应用程序上有一个登录屏幕,成功登录后,在对主屏幕执行segue之前,我将以下信息保存在会话中的Dictionary中。就像这样(在示例中输入静态信息):
let preferences = UserDefaults.standard
let session_info : [String: String] = [
"user_id": "123",
"name": "John",
"email": "john@doe.com"
]
preferences.set(session_info, forKey: "session")
preferences.synchronize()
Run Code Online (Sandbox Code Playgroud)
这样就保存了会话数据,如果我将其分配给变量并打印,则可以在控制台中获得可选的信息字典。
let session_data = preferences.value(forKey: "session")!
Run Code Online (Sandbox Code Playgroud)
如果我这样做,print(session_data)则会得到以下输出:
{
"user_id" = "123";
"name" = "John";
"email" = "john@doe.com";
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我不确定如何访问键,因为如果我将分配的变量视为字典,它会说Type 'Any' has no subscript members.我使用的是:
print(session_data["user_id"])
Run Code Online (Sandbox Code Playgroud)
有没有办法访问此信息,或者我必须将每个变量保存到单独的会话密钥中?